Streaming HTTP request body parser
npm install corps
var body = require('corps');
http.createServer(function(req, res) {
body.auto(req).map(function(data) {
res.end(data.greeting + "world");
});
}).listen(3000);
$ curl -X POST -D '{"greeting": "salutations"}' -H 'Content-type: application/json' localhost:8000
salutations world
$ curl -X POST -D 'greeting=what+ho' -H 'Content-type: application/x-www-form-urlencoded' localhost:8000
what ho world
Sniffs Content-type
and parses the request body with the appropriate parser. Knows about application/json
and application/x-www-form-urlencoded
to begin with. Everything else is left as raw strings. To teach it about other formats, add to mimeParsers
.
Individual parsers that comprise auto
. Use one of these if you know what format the data will be in.
A map of Content-type
s to parsers. A parser is a function that takes a request and returns a stream containing a single parameters object.
Lets a parser that works on strings work with request streams.
Wraps a simple parser (that could throw errors) such as JSON.parse
in a stream that handles exceptions.
MIT.