@packt/serverless-responses
TypeScript icon, indicating that this package has built-in type declarations

1.0.0 • Public • Published

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.

Readme

Keywords

none

Package Sidebar

Install

npm i @packt/serverless-responses

Weekly Downloads

0

Version

1.0.0

License

Apache-2.0

Unpacked Size

103 kB

Total Files

46

Last publish

Collaborators

  • astevenstaylor