0.0.4 • Published 13 years ago

multipart-stack v0.0.4

Weekly downloads
17
License
-
Repository
github
Last release
13 years ago

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
  }

});