HTTP partial response middleware for the middy framework, the stylish Node.js middleware engine for AWS Lambda
Filtering the data returned in an object or JSON stringified response has never been so easy. Add the httpPartialResponse
middleware to your middleware chain, specify a custom filteringKeyName
if you want to and that's it. Any consumer of your API will be able to filter your JSON response by adding a querystring key with the fields to filter such as fields=firstname,lastname
.
This middleware is based on the awesome json-mask
package written by Yuriy Nemtsov
To install this middleware you can use NPM:
npm install --save @middy/http-partial-response
This middleware does not have any option
const middy = require('@middy/core')
const httpPartialResponse = require('@middy/http-partial-response')
const handler = middy((event, context, cb) => {
const response = {
statusCode: 200,
body: {
firstname: 'John',
lastname: 'Doe',
gender: 'male',
age: 30,
address: {
street: 'Avenue des Champs-Élysées',
city: 'Paris'
}
}
}
cb(null, response)
})
handler.use(httpPartialResponse())
const event = {
queryStringParameters: {
fields: 'firstname,lastname'
}
}
handler(event, {}, (_, response) => {
expect(response.body).toEqual({
firstname: 'John',
lastname: 'Doe'
})
})
For more documentation and examples, refers to the main Middy monorepo on GitHub or Middy official website.
Everyone is very welcome to contribute to this repository. Feel free to raise issues or to submit Pull Requests.
Licensed under MIT License. Copyright (c) 2017-2018 Luciano Mammino and the Middy team.