6.2.0 • Published 12 months ago
co-body v6.2.0
co-body
Parse request bodies with generators inspired by Raynos/body.
Installation
$ npm install co-body
Options
limit
number or string representing the request size limit (1mb for json and 56kb for form-urlencoded)strict
when set totrue
, JSON parser will only accept arrays and objects; whenfalse
will accept anythingJSON.parse
accepts. Defaults totrue
. (alsostrict
mode will always return object).onProtoPoisoning
Defines what action theco-body
lib must take when parsing a JSON object with__proto__
. This functionality is provided by bourne. See Prototype-Poisoning for more details about prototype poisoning attacks. Possible values are'error'
,'remove'
and'ignore'
. Default to'error'
, it will throw aSyntaxError
whenPrototype-Poisoning
happen.queryString
an object of options when parsing query strings and form data. See qs for more information.returnRawBody
when set totrue
, the return value ofco-body
will be an object with two properties:{ parsed: /* parsed value */, raw: /* raw body */}
.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:
Example
// application/json
var body = await parse.json(req);
// explicit limit
var body = await parse.json(req, { limit: '10kb' });
// application/x-www-form-urlencoded
var body = await parse.form(req);
// text/plain
var body = await parse.text(req);
// either
var body = await parse(req);
// custom type
var body = await parse(req, { textTypes: ['text', 'html'] });
Koa
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 = await parse.json(this);
// application/x-www-form-urlencoded
var body = await parse.form(this);
// text/plain
var body = await parse.text(this);
// either
var body = await parse(this);
License
6.2.0
12 months ago
6.1.0
5 years ago
6.0.0
7 years ago
5.2.0
7 years ago
5.1.1
8 years ago
5.1.0
8 years ago
5.0.3
8 years ago
5.0.2
8 years ago
5.0.1
8 years ago
5.0.0
8 years ago
4.2.0
9 years ago
4.1.0
9 years ago
4.0.0
10 years ago
3.1.0
10 years ago
3.0.0
10 years ago
2.0.0
10 years ago
1.2.0
10 years ago
1.1.0
10 years ago
1.0.0
11 years ago
0.0.2
11 years ago
0.0.1
11 years ago