File: /var/www/vhost/disk-apps/pwa.sports-crowd.com/node_modules/formidable/src/parsers/Querystring.js
/* eslint-disable no-underscore-dangle */
import { Transform } from 'node:stream';
// This is a buffering parser, have a look at StreamingQuerystring.js for a streaming parser
class QuerystringParser extends Transform {
constructor(options = {}) {
super({ readableObjectMode: true });
this.globalOptions = { ...options };
this.buffer = '';
this.bufferLength = 0;
}
_transform(buffer, encoding, callback) {
this.buffer += buffer.toString('ascii');
this.bufferLength = this.buffer.length;
callback();
}
_flush(callback) {
const fields = new URLSearchParams(this.buffer);
for (const [key, value] of fields) {
this.push({
key,
value,
});
}
this.buffer = '';
callback();
}
}
export default QuerystringParser;