Parse request bodies with generators inspired by Raynos/body.
$ npm install co-body
limit
number or string representing the request size limit (1mb for json and 56kb for form-urlencoded)strict
when set to true
, JSON parser will only accept arrays and objects; when false
will accept anything JSON.parse
accepts. Defaults to true
. (also strict
mode will always return object).queryString
an object of options when parsing query strings and form data. See qs for more information.jsonTypes
is used to determine what media type co-body will parse as json, this option is passed directly to the type-is library.formTypes
is used to determine what media type co-body will parse as form, this option is passed directly to the type-is library.textTypes
is used to determine what media type co-body will parse as text, this option is passed directly to the type-is library.more options available via raw-body:
// application/json
var body = yield parse.json(req);
// explicit limit
var body = yield parse.json(req, { limit: '10kb' });
// application/x-www-form-urlencoded
var body = yield parse.form(req);
// text/plain
var body = yield parse.text(req);
// either
var body = yield parse(req);
// custom type
var body = yield parse(req, { textTypes: ['text', 'html'] });
This lib also supports ctx.req
in Koa (or other libraries),
so that you may simply use this
instead of this.req
.
// application/json
var body = yield parse.json(this);
// application/x-www-form-urlencoded
var body = yield parse.form(this);
// text/plain
var body = yield parse.text(this);
// either
var body = yield parse(this);
MIT