attach-parser
http-body stream (req) parsing like a boss
Парсер представляет собой класс для парсинга тел входящих http-запросов
var parser = new AttachParser(params);
Особое внимание следует уделить формату параметров парсера. Обязательным параметром является params.length
,
который можно получить из заголовка content-length
. Для того чтобы прозрачно работать с парсером при любых типах запросов, AttachParser умеет отдавать парсер-пустышку, если не передать length
.
Остальные параметры - это результат парсинга заголовка content-type
. Рекмендуется воспользоваться для этого модулем media-typer.
То есть в целом, чтобы работать с телом запроса достаточно распарсить content-type
и примиксовать к нему length
.
var mediaTyper = require('media-typer');
var AttachParser = require('attach-parser');
var params = mediaTyper(req.headers['content-type'])
var parser;
params.length = req.headers['content-length'];
parser = new AttachParser(params);
parser.parse(req).then(function (data) {
assert('string' === typeof data.type);
assert('object' === typeof data.input);
});
Парсер можно расширить своими типами, см. код.