aws-lambda-response-builder

A simple library to create AWS Lambda responses


Keywords
aws, lambda, api gateway, typescript
License
ICU
Install
npm install aws-lambda-response-builder@1.0.15

Documentation

aws-lambda-response-builder

CircleCI npm

A Node.js module that helps you easily creates AWS Lambda responses.

Installation

npm install aws-lambda-response-builder --save
yarn add aws-lambda-response-builder

Contributing

Please read our contributing page

Usage

JavaScript

Without body

var responseBuilder = require("aws-lambda-response-builder");

var okResponse = responseBuilder.buildApiGatewayOkResponse();

It will create a response such as:

{
    statusCode: 200,
    headers: {
        "Access-Control-Allow-Origin": "*",
        "Access-Control-Allow-Credentials": true,
        "Content-Type": "application/json"
    },
    body: '{}'
}

With body

var responseBuilder = require("aws-lambda-response-builder");

var okResponse = responseBuilder.buildApiGatewayOkResponse({
	message: "some message"
});

It will create a response such as:

{
    statusCode: 200,
    headers: {
        "Access-Control-Allow-Origin": "*",
        "Access-Control-Allow-Credentials": true,
        "Content-Type": "application/json"
    },
    body: '{\"message\":\"some message\"}'
}

Without CORS headers

var responseBuilder = require("aws-lambda-response-builder");

var okResponse = responseBuilder.buildApiGatewayOkResponse(undefined, false);

It will create a response such as:

{
    statusCode: 200,
    headers: { },
    body: '{}'
}

TypeScript

Without body

import { buildApiGatewayOkResponse } from "aws-lambda-response-builder";

var okResponse = buildApiGatewayOkResponse();

It will create a response such as:

{
    statusCode: 200,
    headers: {
        "Access-Control-Allow-Origin": "*",
        "Access-Control-Allow-Credentials": true,
        "Content-Type": "application/json"
    },
    body: '{}'
}

With body

import { buildApiGatewayOkResponse } from "aws-lambda-response-builder";

var okResponse = buildApiGatewayOkResponse({
	message: "some message"
});

It will create a response such as:

{
    statusCode: 200,
    headers: {
        "Access-Control-Allow-Origin": "*",
        "Access-Control-Allow-Credentials": true,
        "Content-Type": "application/json"
    },
    body: '{\"message\":\"some message\"}'
}

Without CORS headers

import { buildApiGatewayOkResponse } from "aws-lambda-response-builder";

var okResponse = buildApiGatewayOkResponse(undefined, false);

It will create a response such as:

{
    statusCode: 200,
    headers: { },
    body: '{}'
}

Using the builder

import { ApiGatewayResponseBuilder } from "aws-lambda-response-builder";

const response = new ApiGatewayResponseBuilder(200, {
	message: "yay! using aws-lambda-response-builder"
})
	.withCors()
	.withHeader("dummyHeaderKey", "dummyHeaderValue")
	.build();

Scripts

ESLint

Check linting errors

npm run eslint:check
yarn eslint:check

Fix linting errors

npm run eslint:fix
yarn eslint:fix

Test

npm run test
yarn test

Test with coverage

npm run test:coverage
yarn test:coverage