UNPKG

piecemeal

Version:

Effortless incrementally deliver your data

26 lines (22 loc) 686 B
'use strict'; const piecemeal = require('piecemeal'); const stream = (data, options = {}) => { const boundary = options.boundary || '-'; const pipe = async (res) => { res.setHeader('connection', 'keep-alive'); res.setHeader('content-type', `multipart/mixed;boundary="${boundary}"`); res.setHeader('transfer-encoding', 'chunked'); let ended = false; res.once('close', () => (ended = true)); await piecemeal.generate(data, boundary, res.write.bind(res), { get aborted() { return ended; }, }); res.end(); }; return { pipe, }; }; exports.stream = stream;