Pipe ReadableStream to HTTPs Request
Tue May 31 2022 16:49:23 GMT+0000 (UTC)
Saved by
@petersdavis
#nodejs
const fs = require('fs');
const https = require('https');
const {Transform} = require('stream');
const transformGenerator = function() {
let flushCallback = ()=>{};
const options = {
host: <url>, //without protocol https://
port: 443,
path: </anything/after/slash>,
method: 'POST'
};
const transform = new Transform();
const req = https.request(options, (res)=>{
res.on('data', (d) => {
transform.push(d);
});
res.on('end', () => {
flushCallback();
transform.destroy()
});
})
transform._transform = (chunk, encoding, callback) => {
req.write(chunk);
callback()
}
transform.pipe(req);
transform._flush = (cb)=>{
req.end();
flushCallback = cb;
}
return transform;
}
stream = fs.createReadStream('./example.txt');
stream.pipe(transformGenerator()).pipe(process.stdout);
content_copyCOPY
Comments