@viweei/koa-body-parser

koa middleware to parse xml and json, form/data request body

Usage no npm install needed!

<script type="module">
  import viweeiKoaBodyParser from 'https://cdn.skypack.dev/@viweei/koa-body-parser';
</script>

README

koa-body-parser

node version Build Status MIT Licence

NPM

This is Koa's body parsing middleware for parsing json, text, json body.

Notice: this module don't support parsing multipart format data


install

npm install --save-dev @viweei/koa-body-parser

Usage

const Koa = require('koa')
const KoaBodyParser = require('@viweei/koa-body-parser')

const app = new Koa()
app.use(KoaBodyParser())


app.use(async ctx=>{
    console.log(ctx.request.body)
    console.log(ctx.request.raw_body)
})

Options

  • limit: limit of the body. If the body ends up being larger than this limit, a 413 error code is returned. Default is 1mb.
  • keep: Retain raw_body when parsing errors, instead of returning 400 status, you can handle raw body. Default is false, When set true don't return https status 400, Bad request body.
  • encoding: Default character set. When the request is not UTF-8', you need to set keep'to `true', and process the encoding yourself.
  • xmlOptions: Configuration options for xml2js. Default is
    trim: true,
    explicitRoot: false,
    explicitArray: false

Koa 的 body 解析中间件, 支持 json, xml, x-www-form-urlencoded, plain/text

注意: 不支持 Multipart/form-data 上传文件。

安装

npm install --save-dev @viweei/koa-body-parser

使用

const Koa = require('koa')
const KoaBodyParser = require('@viweei/koa-body-parser')

const app = new Koa()
app.use(KoaBodyParser())


app.use(async ctx=>{
    console.log(ctx.request.body)
    console.log(ctx.request.raw_body)
})

选项

  • limit: 提交 BODY 大小限制, 默认是 1mb.
  • keep: 当解析 body 出错时是否返回 400 表示请求体错误, 默认是 false. 当为 true 时不返回 400 Bad request body
  • encoding: 默认字符集, 当请求不是 UTF-8 时,需要设置 keeptrue, 自己处理编码
  • xmlOptions: xml2js 的配置选项. 默认为:
    trim: true,
    explicitRoot: false,
    explicitArray: false

License

MIT