UNPKG

http-body

Version:

Parse the stream body into text/json/buffer/urlencoded.

82 lines (51 loc) 2.05 kB
# http-body ![Last version](https://img.shields.io/github/tag/Kikobeats/http-body.svg?style=flat-square) [![Coverage Status](https://img.shields.io/coveralls/Kikobeats/http-body.svg?style=flat-square)](https://coveralls.io/github/Kikobeats/http-body) [![NPM Status](https://img.shields.io/npm/dm/http-body.svg?style=flat-square)](https://www.npmjs.org/package/http-body) > Parse the stream body into text/json/buffer/urlencoded (437 bytes). ## Install ```bash $ npm install http-body --save ``` ## Usage ```js const { buffer, text, json, urlencoded } = require('http-body') /* into buffer */ await buffer(req) // => <Buffer 7b 22 70 72 69 63 65 22 3a 20 39 2e 39 39 7d> /* into text */ await text(req) // => '{"price": 9.99}' /* into json */ await json(req) // => { price: '9.99' } /* into URLSearchParams */ await urlencoded(req) // => 'price=9.99' ``` The max body size allowed by default is 1 MB. That can be customize as second argument: ```js const { buffer, text, json, urlencoded } = require('http-body') const bytes = require('bytes') await buffer(req, { limit: bytes('1mb')}) // => TypeError: body size (1112140) is over the limit (1048576) ``` ## API ### text(req, options) Converts request body to string. ### urlencoded(req, options) Parses request body using `new URLSearchParams`. ### json(req, options) Parses request body using `JSON.parse`. ### buffer(req, options) Minimal body parsing without any formatting. ## Options ### limit Type: `number`<br> Default: `1048576` The max body size allowed. If the request body exceeds it, it throws an error. ## License **http-body** © [Kiko Beats](https://kikobeats.com), released under the [MIT](https://github.com/Kikobeats/http-body/blob/master/LICENSE.md) License.<br> Authored and maintained by [Kiko Beats](https://kikobeats.com) with help from [contributors](https://github.com/Kikobeats/http-body/contributors). > [kikobeats.com](https://kikobeats.com) · GitHub [Kiko Beats](https://github.com/Kikobeats) · X [@Kikobeats](https://x.com/Kikobeats)