Security News
Node.js EOL Versions CVE Dubbed the "Worst CVE of the Year" by Security Experts
Critics call the Node.js EOL CVE a misuse of the system, sparking debate over CVE standards and the growing noise in vulnerability databases.
lambda-request-handler
Advanced tools
An npm module that allows your Node.js web applications to be deployed as an AWS Lambda function.
An npm module that allows your Node.js web applications to be deployed as an AWS Lambda function.
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 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 80 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.
Security News
Critics call the Node.js EOL CVE a misuse of the system, sparking debate over CVE standards and the growing noise in vulnerability databases.
Security News
cURL and Go security teams are publicly rejecting CVSS as flawed for assessing vulnerabilities and are calling for more accurate, context-aware approaches.
Security News
Bun 1.2 enhances its JavaScript runtime with 90% Node.js compatibility, built-in S3 and Postgres support, HTML Imports, and faster, cloud-first performance.