Async iterable http multipart message parser
Allows iterating over multipart messages found in a HTTP request/
import http from 'http'
import multipart from 'it-multipart'
http.createServer(async (req, res) => {
if (req.method === 'POST' && req.headers['content-type']) {
for await (const part of multipart(req)) {
console.log(`part with HTTP headers ${part.headers}`)
// nb. part.body must be consumed before the next part is emitted
for await (const chunk of part.body) {
console.log(`part with content ${part.name} contents:`, chunk.toString())
}
}
console.log('finished parsing')
res.writeHead(200)
res.end()
}
res.writeHead(404)
res.end()
}).listen(5001, () => {
console.log('server listening on port 5001')
})
$ npm i it-multipart
Licensed under either of
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.
Allows iterating over multipart messages found in a HTTP request/
Example