A helper for writing APIs using AWS Lambda functions.
- Dependency injection for easy unit testing.
- Pretty JSON error output, with status codes automatically determined based on error message.
- Easy access to query strings and JSON body properties.
- Serverless warmup plugin support.
- OpenTelemetry support and additional span attributes, for use with opentelemetry-lambda.
yarn add @includable/serverless-middleware
import { middleware, auth } from "@includable/serverless-middleware";
const dependencies = {
// dependencies for the dependency injector
};
export const app = async (
{ query, path, body },
{ currentUser /* dependences */ },
) => {
// if `auth` is included in the second param of `middleware`, currentUser
// will be an object in the form of `{ id, groups, email, ... }`
// your business logic goes here
return {
success: true,
text: "Hello, world!",
};
};
export const handler = middleware(app, [auth]).register(dependencies);
Out of the box this middleware setup supports the serverless-plugin-warmup serverless plugin.
Simply install the serverless plugin, no other changes to your code necessary. The middleware will automatically prevent code execution on warmup requests.
If an active OpenTelemetry span is detected, event and response properties will automatically be added.
Get professional support for this package →
Custom consulting sessions availabe for implementation support and feature development.
Custom consulting sessions availabe for implementation support and feature development.