@packt/serverless-responses
v1.0.0
Published
Serverless framework used for creating standard callback responses from within the handler function.
Downloads
7
Readme
serverless-responses
Use this package for creating standard callback responses from within an AWS Lambda function. There is a generic response, an error response and a resource response.
Requirements
- Nodejs >= 8.10
Example
// handler.js
import { createHttpResponse, createHttpErrorResponse } from '@packt/serverless-responses';
/**
* Example Handler
*/
const exampleHandler = (event, context, callback) => {
const randomNr = Math.random() * 100;
if (randomNr >= 50) {
return createHttpResponse({
statusCode: 200,
data: { message: 'Success message' },
}, callback);
}
return createHttpErrorResponse({
statusCode: 400,
message: 'Fail message',
errorCode: 123456,
}, callback);
};
export { exampleHandler }; //eslint-disable-line
createHttpResponse
createHttpResponse(params, callback);
The params argument is an object that contains the information necessary to create the response:
- statusCode: integer between 100 and 600, required
- data: response payload, string or object, optional
- options: response options, optional
- options.cors: boolean, defaults to true
- options.headers: headers object
The callback argument is the callback function that was pass to the handler function.
createHttpResourceResponse
Used for returning resources in a REST-based API.
createHttpResourceResponse(params, callback);
returns body:
{
data: [{
result: object
}],
count: integer,
custom: any
}
The params argument is an object that contains the information necessary to create the response:
- statusCode: integer between 100 and 600, required
- result: the resource, must be an object or array or object. If a single object, the result will br returned as an array, required
- custom: additional properties to include in the root of the body returned.
- customJoi: Joi schema to validate the custom properties passed in.
- count: the total number of resources, used for pagination, optional
- options: response options, optional
- options.cors: boolean, defaults to true
- options.headers: headers object
The callback argument is the callback function that was pass to the handler function.
createHttpErrorResponse
Used for returning error messages. This is usedin the event of a malformed request to the other modules.
createHttpErrorResponse(params, callback);
returns body:
{
message: string,
errorCode: integer,
errorId: uuid
}
The params argument is an object that contains the information necessary to create the response:
- statusCode: integer between 400 and 600, required
- errorCode: integer, required
- message: string, required
- data: response payload, string or object, optional
- options: response options, optional
- options.cors: boolean, defaults to true
- options.headers: headers object
The callback argument is the callback function that was pass to the handler function.