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

Package Sidebar

Install

npm i http-body-parser

Weekly Downloads

7

Version

1.1.9

License

ISC

Last publish

Collaborators

  • eqfox