@schibsted/middy-cors
v3.0.1
Published
Middy middleware for adding CORS headers to success response and errors
Downloads
546
Readme
Schibsted Middy CORS middleware
CORS middleware for the middy framework, the stylish Node.js middleware engine for AWS Lambda
This middleware sets HTTP CORS headers, necessary for making cross-origin requests, to the response object.
Sets headers in after
and onError
phases.
This is an alternative to standard Middy cors handler with the following differences:
- it allows you to add more CORS headers
Install
To install this middleware you can use NPM:
npm install --save @schibsted/middy-cors
Options
allowedOrigins
(array) - list of allowed origins or['*']
for allowing all originsexposeHeaders
(array) - list of headers to exposemaxAge
(string) - value passed toaccess-control-max-age
headercredentials
(bool) - value passed toaccess-control-allow-credentials
headerallowMethods
(array) - list of allowed HTTP methodsallowHeaders
(array) - list of allowed HTTP headers
Sample usage
const middy = require('@middy/core');
const cors = require('@schibsted/middy-cors');
const handler = middy(async () => ({
statusCode: 200,
body: JSON.stringify({ foo: 'bar' }),
}));
handler
.use(cors({ allowedOrigins: ['https://www.vg.no', 'https://www.tek.no']}));
// when Lambda runs the handler...
handler({}, {}, (_, response) => {
expect(response).toEqual({
statusCode: 200,
headers: {
'access-control-allow-origin': 'https://www.vg.no',
},
body: JSON.stringify({ foo: 'bar' }),
})
})
Contributing
Everyone is very welcome to contribute to this repository. Feel free to raise issues or to submit Pull Requests.