0.0.4 • Published 14 years ago
multipart-stack v0.0.4
node-multipart-stack
A StreamStack subclass that parses "multipart" data, often from SMTP or HTTP.
This module implements Section 7.2 of RFC 1341. It can be easily used
in conjunction with any node ReadableStream.
Usage
Here's a simple HTTP server that can parse multipart requests, like from an HTML multipart form.
var http = require('http');
var multipart = require('multipart-stack');
var server = http.createServer(function(req, res) {
// includes a built-in "Content-Type Parser"
var parsed = multipart.parseContentType(req.headers['content-type']);
if (parsed.type === 'multipart') {
var parser = new multipart.Parser(req, parsed.boundary);
// A 'part' event gets fired once per individual "part" of the multipart body
parser.on('part', function (part) {
// the 'part' arg is a `ReadableStream` that also emits a 'headers' event.
part.on('headers', function(headers) {
console.log(headers);
});
part.pipe(process.stdout, { end: false });
});
} else {
// non-file-upload logic
}
});