Learn about our RFC process, Open RFC meetings & more.Join in the discussion! »

@middy/sqs-json-body-parser

1.4.0 • Public • Published

Middy sqs json body parsing middleware

Middy logo

SQS batch json body parsing middleware for the middy framework, the stylish Node.js middleware engine for AWS Lambda

Middleware for iterating through a SQS batch of records and parsing the string body to a JSON body.

Install

To install this middleware you can use NPM:

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

Options

  • reviver (function) (optional): A function to be passed as the reviver for JSON.parse(text[, reviver]). If safeParse is provided then reviver will be passed to it and it is up the provided safeParse function to use it or ignore it.
  • safeParse (function) (optional): A provided function to be used inplace of the default safeParse function for custom parsing logic on each record body in the batch. As an example the following represents the default safeParse function:
const safeParse = (body, reviver) => {
 try {
   return JSON.parse(body, reviver)
 } catch (err) {
   return body
 }
}

Sample usage

const middy = require('@middy/core')
const sqsJsonBodyParser = require('@middy/sqs-json-body-parser')
 
const yourHandler = (event, context, cb) => {
  const { Records } = event
  return Promise.all(Records.map(async (record, index) => { /* your message processing logic */ }))
}
 
const handler = middy(yourHandler).use(sqsJsonBodyParser())

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-2018 Luciano Mammino and the Middy team.

FOSSA Status

Install

npm i @middy/sqs-json-body-parser

DownloadsWeekly Downloads

410

Version

1.4.0

License

MIT

Unpacked Size

12 kB

Total Files

8

Last publish

Collaborators

  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar
  • avatar