2.0.5 • Published 7 years ago

aws-serverless-config v2.0.5

Weekly downloads
4
License
MIT
Repository
github
Last release
7 years ago

aws-serverless-config

Build Status License: MIT

install

npm install aws-serverless-config --save

Four useful middleware are provided in aws-serverless-express.

1. apigateway-event-parser

Event information received from the API Gateway in Request.headers.x-apigateway-event is stored in an encoded state. This middleware decodes this into a JSON Object.

in app.js

const apigatewayEventParser = require("aws-serverless-express").apigatewayEventParser;

app.use(apigatewayEventParser);

in app.ts

import {apigatewayEventParser} from "aws-serverless-express";

app.use(apigatewayEventParser);

using apigateway-event-parser

const event = req.headers["x-apigateway-event"];
console.info(JSON.stringify(event, null, 2));

2. aws-config

Make aws-config in aws-serverless-express.

Merge Lambda environment varaiables and API Gateway stagevariables to Request["aws-config"]. If you want to local test, use dotenv. If there is same variable between Lambda environment varaiables and API Gateway stagevariables, keep API Gateway's and drop Lambda's. Using this does not include the value decoded in Request.headers.x-apigateway-event. If you need to do this, you can declare it as app.use(apigatewayEventParser, awsConfig).

in app.js

const awsConfig = require("aws-serverless-express").awsConfig;

app.use(awsConfig);

in app.ts

import {awsConfig} from "aws-serverless-express";

app.use(awsConfig);

using aws-config

const config = req["aws-config"]
console.info(JSON.stringify(config, null, 2));

3. print-log

This is a middleware that provides a function to output the log so that CloudWatch can check it if it is declared as one of EVENT, REQUEST and SIMPLE in PRINT_LOG in Lambda Environment Variables or API Gateway StageVariables.

  • EVENT : Print apigateway event.
  • REQUEST : Print express request.
  • SIMPLE : Print body, headers, query, url, params and aws-config from express request.

To do this you need to run aws-config first.

app.use(awsConfig, printLog);

in app.js

const awsConfig = require("aws-serverless-express").awsConfig;
const printLog = require("aws-serverless-express").printLog;

app.use(awsConfig, printLog);

in app.ts

import {awsConfig, pringLog} from "aws-serverless-express";

app.use(awsConfig, pringLog);

4. print-error

This will cause CloudWatch to display the resulting Error. If you do not do anything, CloudWatch will show an error. If you use another ErrorHandler, you may not want to print it. In this case, it is possible to print using this. app.use(awsConfig, printLog);

in app.js

const printError = require("aws-serverless-express").printError;

function yourErrorHandler(err, req, res, next) { ... };

app.use(printError, yourErrorHandler);

in app.ts

import {Request , Response , NextFunction}  from 'express';
import {printError} from "aws-serverless-express";

function yourErrorHandler(err: any, req: Request, res: Response, next: NextFunction) { ... };

app.use(awsConfig, yourErrorHandler);

Author

Yun.Seok-Joon

License

Toggler is available under the MIT license. See the LICENSE file for more info.

2.0.5

7 years ago

2.0.4

7 years ago

2.0.3

7 years ago

2.0.2

7 years ago

2.0.1

7 years ago

2.0.0

7 years ago

1.0.6

7 years ago

1.0.5

7 years ago

1.0.4

7 years ago

1.0.3

7 years ago

1.0.2

7 years ago

1.0.1

7 years ago

1.0.0

7 years ago