http-body-parser

1.1.9 • Public • Published

http-body-parser

NPM version build status Coveralls David deps node version Gittip

🔥 A body parser for koa, express. support json, form, text, multipart and stream type body.

Install

NPM

Usage

Koa

const Koa = require('koa');
const bodyParser = require('http-body-parser').koa;
 
const app = new Koa();
app.use(bodyParser({}));
 
app.use(async ctx => {
  // the parsed body will store in ctx.request.body
  // if nothing was parsed, body will be an empty object {}
  ctx.body = ctx.request.body;
});

Express

const express = require('express');
const bodyParser = require('http-body-parser').express;
 
const app = express();
app.use(bodyParser({}));
 
server.use('/', function(req, res) {
  res.send(req.body)
})

Features

  • Based on the ES6 syntax, the code is concise
  • No third party module dependent
  • Support Koa and Express

Options

  • default options
{
    enableTypes: ['json', 'form', 'text', 'multipart', 'stream'],
    json: {
      limit: 1024*1024,
      strict: true,
      extendsTypes: []
    },
    text: {
      limit: 1024*1024,
      extendsTypes: []
    },
    form: {
      limit: 56*1024,
      extendsTypes: []
    },
    stream: {
      limit: 1024*1024,
      path: `the operating system's default directory`
    },
    multipart: {
      limit: 1024*1024,
      path: `the operating system's default directory`
    }
}
  • enableTypes: parser will only parse when request type hits enableTypes, default is ['json', 'form', 'text', 'multipart', 'stream'].
  • encode: requested encoding. Default is utf-8.
  • limit: limit of the body. If the body ends up being larger than this limit, a 413 error code is returned.
  • strict: when set to true, JSON parser will only accept arrays and objects. Default is true.
  • extendTypes: support extend types, eg: application/x-javascript
  • path: which folder the uploaded files should be stored, active on multipart, stream

Raw Body

You can access raw request body by ctx.request.rawBody

Dependencies (1)

Dev Dependencies (9)

Package Sidebar

Install

npm i http-body-parser

Weekly Downloads

6

Version

1.1.9

License

ISC

Last publish

Collaborators

  • eqfox