Product
Socket Now Supports uv.lock Files
Socket now supports uv.lock files to ensure consistent, secure dependency resolution for Python projects and enhance supply chain security.
lambda-request-handler
Advanced tools
An npm module that allows your Node.js web applications to be deployed as an AWS Lambda function and invoked in response to API Gateway or Application Load Balancer requests.
An npm module that allows your Node.js web applications to be deployed as an AWS Lambda function and invoked in response to API Gateway or Application Load Balancer requests.
The list of supported frameworks matches in-process-request
Inspired by aws-serverless-express
It supports nodejs8.10
and nodejs10.x
execution environments.
The main differences between this module and aws-serverless-express
are
The handler supports events from the following sources:
The default export of lambda-request-handler
is a function that takes an application handler (i.e. Express.js app instance) as an argument and returns an AWS Lambda handler function.
$ npm install lambda-request-handler
const express = require('express')
const lambdaRequestHandler = require('lambda-request-handler')
const app = express()
app.get('/user/:id', (req, res) => {
res.json({
id: req.params.id,
name: 'John'
})
})
const handler = lambdaRequestHandler(app)
module.exports = { handler }
If the above file in your Lambda source was called index.js
then the name of the handler in the Lambda configuration is index.handler
Sometimes the application needs to read configuration from remote source before it can start processing requests. For example it may need to decrypt some secrets managed by KMS. For this use case a special helper deferred
has been provided. It takes a factory function which returns a Promise that resolves to the app instance. The factory function will be called only once.
const lambdaRequestHandler = require('lambda-request-handler')
const AWS = require('aws-sdk')
const express = require('express')
const createApp = (secret) => {
const app = express();
app.get('/secret', (req, res) => {
res.json({
secret: secret,
})
})
}
const myAppPromise = async () => {
const kms = new AWS.KMS()
const data = await kms.decrypt({
CiphertextBlob: Buffer.from(process.env.ENCRYPTED_SECRET, 'base64')
}).promise()
const secret = data.Plaintext.toString('ascii')
return createApp(secret);
};
const handler = lambdaRequestHandler.deferred(myAppPromise);
module.exports = { handler }
FAQs
An npm module that allows your Node.js web applications to be deployed as an AWS Lambda function and invoked in response to API Gateway, HTTP API, or Application Load Balancer requests.
The npm package lambda-request-handler receives a total of 43 weekly downloads. As such, lambda-request-handler popularity was classified as not popular.
We found that lambda-request-handler demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
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.
Product
Socket now supports uv.lock files to ensure consistent, secure dependency resolution for Python projects and enhance supply chain security.
Research
Security News
Socket researchers have discovered multiple malicious npm packages targeting Solana private keys, abusing Gmail to exfiltrate the data and drain Solana wallets.
Security News
PEP 770 proposes adding SBOM support to Python packages to improve transparency and catch hidden non-Python dependencies that security tools often miss.