JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 119
  • Score
    100M100P100Q85398F
  • License SEE LICENSE IN license.md

A simple library to create AWS Lambda responses

Package Exports

  • aws-lambda-response-builder

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (aws-lambda-response-builder) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

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