biofriction-wp-theme/node_modules/localtunnel/lib/HeaderHostTransformer.js

24 lines
613 B
JavaScript

const { Transform } = require('stream');
class HeaderHostTransformer extends Transform {
constructor(opts = {}) {
super(opts);
this.host = opts.host || 'localhost';
this.replaced = false;
}
_transform(data, encoding, callback) {
callback(
null,
this.replaced // after replacing the first instance of the Host header we just become a regular passthrough
? data
: data.toString().replace(/(\r\n[Hh]ost: )\S+/, (match, $1) => {
this.replaced = true;
return $1 + this.host;
})
);
}
}
module.exports = HeaderHostTransformer;