Wondering what’s next for npm?Check out our public roadmap! »

    co-body
    DefinitelyTyped icon, indicating that this package has TypeScript declarations provided by the separate @types/co-body package

    6.1.0 • Public • Published

    co-body

    NPM version build status Test coverage David deps npm download

    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 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.
    • returnRawBody when set to true, the return value of co-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

    MIT

    Install

    npm i co-body

    DownloadsWeekly Downloads

    699,404

    Version

    6.1.0

    License

    MIT

    Unpacked Size

    11.8 kB

    Total Files

    9

    Last publish

    Collaborators

    • avatar
    • avatar
    • avatar