🚀 Big News: Socket Acquires Coana to Bring Reachability Analysis to Every Appsec Team.Learn more
Socket
DemoInstallSign in
Socket

@0to10/aws-api-gateway-handler

Package Overview
Dependencies
Maintainers
0
Versions
11
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@0to10/aws-api-gateway-handler

Typescript library for setting up Lambda functions to serve as API Gateway handler

1.2.0
latest
Source
npm
Version published
Weekly downloads
6
-70%
Maintainers
0
Weekly downloads
 
Created
Source

AWS API Gateway Handler

This repository provides a bootstrapper when creating Node.js Lambda functions, to be used as API Gateway handlers.

Getting started

Get started quickly by following the instructions below.

Installation

Use NPM to install this library into your project:

npm install --save @0to10/aws-api-gateway-handler

Setup

Quick setup:

'use strict';

import http from 'http';

import {Application, Request, Response} from '@0to10/aws-api-gateway-handler';

const application: Application = new Application();

// Any application logic, such as registering routes, may be added after instantiation
application.express.get('/test', (
    _request: Request,
    response: Response,
): void => {
    response.status(200).json({
        message: 'Test was a success!',
    });
});

application.listen(80);

// Expose the handler
export const handler = application.handler.bind(application);

Configuration

You may optionally pass in configuration options to the constructor of the Application class, as follows:

import {Application, Configuration} from '@0to10/aws-api-gateway-handler';

const config: Configuration = {
    disable: [
        'x-powered-by',
        'etag',
    ],
    cors: false,
};

const application: Application = new Application(config);

Below is an overview of the configuration options available.

OptionTypeDefault
disablestring[]['x-powered-by']
corsbooleantrue

A full list of available features that may be disabled (via the disable option) is available on the Express.js website.

Events

Various events are emitted within this library, you may attach listeners to the events by following the example below:

// Application bootstrap omitted

application.events.on('listening', (port: number): void => {
    console.log('Listening on port ' + port);
});

Below is an overview of the available events.

EventArgumentsNotes
listening(port: number)Emitted when the server is ready to process requests
event(event: APIGatewayProxyEvent)Emitted every time a request is handled
debug:error(error: any)Emitted whenever the error handler handles an error

AWS Cognito

This library exposes a cognito object on the Request object of Express to make Cognito user data easily accessible. See the type below.

type CognitoRequestInformation = {
    identityId?: string;
    userPoolId?: string;
    username?: string;
}

Note that request.cognito will always be an object, but any of the values may be undefined.

// Application bootstrap omitted

application.express.get('/test', (
    request: express.Request,
    _response: express.Response,
): void => {
    console.info('Cognito user:', {
        cognitoIdentityId: request.cognito.identityId,
        cognitoUserPoolId: request.cognito.userPoolId,
        cognitoUsername: request.cognito.username,
    });
});

Keywords

aws

FAQs

Package last updated on 20 Feb 2025

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts