Skip to content

Repository files navigation

body-parser

Body parsing middleware, supports jsontextrawurlencodedmultipart.

Based on raw-body, busboy, multer, qs.

Installation

$ npm install trek-body-parser --save

Examples

'use strict'constEngine=require('trek-engine')constbodyParser=require('..')asyncfunctionstart(){constapp=newEngine()app.use(bodyParser())app.use(({req, res})=>{res.body=req.body})app.on('error',(err,ctx)=>{console.log(err)})app.run(3000)}start().catch(err=>console.log(err))

API

  • bodyParser(options)

    jsonurlencoded is enabled by default.

    {json: true,urlencoded: true,skip: false,// customtext: {
    ...
    },
    ...
    }
  • .json(options)

    {detect: false,encoding: 'utf8',limit: '1mb',parse: JSON.parse,reviver: undefined,strict: true,type: ['application/json','application/json-patch+json','application/vnd.api+json','application/csp-report'],transform(raw,{ parse, reviver, strict }){constempty=raw.length===0if(strict){if(empty)return{}if(!STRICT_JSON_REG.test(raw)){consterr=newError('Invalid JSON, only supports object and array')err.status=400throwerr}}if(empty)returnrawreturnparse(raw,reviver)}}
  • .text(options)

    {detect: false,encoding: 'utf8',limit: '1mb',type: 'text/plain'}
  • .raw(options)

    {detect: false,encoding: null,limit: '1mb',type: 'application/octet-stream'}
  • .urlencoded(options)

    {detect: false,encoding: 'utf8',limit: '56k',parse: qs.parse,type: 'application/x-www-form-urlencoded',transform(raw,{ parse }){returnparse(raw)}}
  • .multipart(options)

    Creates multer instance.

    • .any()

    • .array(fieldname[, maxCount])

    • .fields(fields)

      fields:

      [{name: 'avatar',maxCount: 1},{name: 'gallery',maxCount: 8}]
    • .none()

    • .single(fieldname)

  • .busboy

Badges

Build Statuscodecov


fundon.me · GitHub @fundon · Twitter @_fundon

About

Body parsing middleware

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages