mirror of
https://gitlab.com/timvisee/send.git
synced 2024-11-13 22:54:15 +01:00
21 lines
393 B
JavaScript
21 lines
393 B
JavaScript
const { Transform } = require('stream');
|
|
|
|
class Limiter extends Transform {
|
|
constructor(limit) {
|
|
super();
|
|
this.limit = limit;
|
|
this.length = 0;
|
|
}
|
|
|
|
_transform(chunk, encoding, callback) {
|
|
this.length += chunk.length;
|
|
this.push(chunk);
|
|
if (this.length > this.limit) {
|
|
return callback(new Error('limit'));
|
|
}
|
|
callback();
|
|
}
|
|
}
|
|
|
|
module.exports = Limiter;
|