@goodwaygroup/lambda-proxy-util
v1.0.0
Published
Standardize Serverless lambda-proxy responses
Downloads
3
Readme
lambda-proxy-util
respond(value, [options, callback])
Alias: respondSuccess(value, [options, callback])
This function aims to structure the construction of the object needed to communicate with lambda-proxy. By default if it is only given a value
it will return a positive, json response object for lambda-proxy.
const respond = require('@goodwaygroup/lambda-proxy-util');
const response = respond({some: 'data'})
//returns
// { statusCode: 200,
// headers:
// { 'content-type': 'application/json' },
// body: '{"some":"data"}' }
const response = respond({
some: 'data'
}, {
cors: {
credentials: true
}
});
//returns
// { statusCode: 200,
// headers:
// { 'access-control-allow-origin': '*',
// 'access-control-max-age': 86400,
// 'access-control-allow-credentials': true,
// 'access-control-expose-headers': 'WWW-Authenticate, Server-Authorization',
// 'content-type': 'application/json' },
// body: '{"some":"data"}' }
Arguments
value
(required) The value to be returned in the body of the response.options
(optional) Object of options described below.callback
(optional) Standard node-style callback. If the statusCode >= 400, the response object will be given to the first argument of the callback method as opposed to the second. Otherwise, if the callback is not given, the response object will be returned.
Options
statusCode
(default =200
) Allows the control of the request's response status codecontentType
(default =application/json
) Sets the content-type header and if it is JSON, the function will stringify the valueheaders
(default ={}
) Key-value pair of headers and their valuesisBinary
(default =false
) If set to true, the value is expected to be aBuffer
and will base64 encode the valuecors
(default =false
) Iftrue
, will assume the defaults for the available cors options. Otherwise, an object can be assigned to control specific aspects of the cors headers.- origin (default =
*
) Controls the access-control-allow-origin header - maxAge (default =
86400
) Controls the access-control-max-age header - credentials (default =
false
) Controls the access-control-allow-credentials header - exposedHeaders (default =
[]
) Controls the access-control-expose-headers header
- origin (default =
respondError(value, [options, callback])
This extends respond()
with exception of the statusCode now defaulting to 500
and the addition of 2 more options. Also, the expectation of the value should now be an Error object. This is not required but recommended.
Options
raw
(default =false
) Ignores all translation of the given value and returns it as-is.includeStack
(default =false
) Only is used if the given value is an instance of Error. Iftrue
, will include the stack as another property in the response as a property namedstack
.