@middy/http-json-body-parser

Http JSON body parser middleware for the middy framework

Stats

StarsIssuesVersionUpdatedCreatedSize
@middy/http-json-body-parser
2,383192.5.12 months ago3 years agoMinified + gzip package size for @middy/http-json-body-parser in KB

Readme

Middy http-json-body-parser middleware

Middy logo

HTTP json body parser middleware for the middy framework, the stylish Node.js middleware engine for AWS Lambda

This middleware automatically parses HTTP requests with a JSON body and converts the body into an object. Also handles gracefully broken JSON as UnprocessableEntity (422 errors) if used in combination with httpErrorHandler.

It can also be used in combination with validator as a prior step to normalize the event body input as an object so that the content can be validated.

Install

To install this middleware you can use NPM:

npm install --save @middy/http-json-body-parser

Options

  • reviver (function) (optional): A reviver parameter may be passed which will be used JSON.parseing the body.

Sample usage

import middy from '@middy/core'
import httpJsonBodyParser from '@middy/http-json-body-parser'

const handler = middy((event, context) => {
  return {}
})

handler.use(httpJsonBodyParser())

// invokes the handler
const event = {
  headers: {
    'Content-Type': 'application/json'  // It is important that the request has the proper content type.
  },
  body: JSON.stringify({foo: 'bar'})
}
handler(event, {}, (_, body) => {
  t.is(body,{foo: 'bar'})
})

Middy documentation and examples

For more documentation and examples, refers to the main Middy monorepo on GitHub or Middy official website.

Contributing

Everyone is very welcome to contribute to this repository. Feel free to raise issues or to submit Pull Requests.

License

Licensed under MIT License. Copyright (c) 2017-2021 Luciano Mammino, will Farrell, and the Middy team.

FOSSA Status

If you find any bugs or have a feature request, please open an issue on github!

The npm package download data comes from npm's download counts api and package details come from npms.io.