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);
Preview:
downloadDownload PNG
downloadDownload JPEG
downloadDownload SVG
Tip: You can change the style, width & colours of the snippet with the inspect tool before clicking Download!
Click to optimize width for Twitter