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.
aws-lambda-middleware
Advanced tools
You can simply apply Middleware in Lambda.
Clean code split is possible, and it includes a simple and extensible Parameter PropTypes validater.
It is implemented as lightly as possible to reduce the burden when running Lambda.
🚀 v1.0 added features
A Validate function that is easy to expand and use has been added, and deep data of arrays and objects can now be processed.It is compatible even in environments other than lambda. (node express etc.)
npm i aws-lambda-middleware
const { Middleware, Prop } = require('aws-lambda-middleware')
exports.handler = new Middleware().add({
queryStringParameters: {
username: Prop.string.required(),
age: Prop.integer,
friends: [
{
name: Prop.string.length({ max: 20 }),
gender: Prop.string.or(['male', 'female'])
}
]
}
}).add(async (event, context, prevData) => {
const query = event.queryStringParameters
//your code
return {
statusCode: 200,
body: JSON.stringify({
message: 'success'
})
}
})
You can set global options and cluster options.
You can set options such as
trim
.
You can simply apply Middleware in Lambda.
Checks and corrects the data types of request parameters.
PropTypes
andProp
are the same object.
It only verifies the validity of the request parameter value.
You can use it by adding custom rules.
The rules added to PropTypes and Validate are written in one line and used.
Error messages can be organized into templates.
Introducing a method that can be applied to the Express framework.
It can also be used in other frameworks.
object
and array
expressionsobject
and array
are designated as reserved prop name, so the rule cannot be overwritten.
trim settings for each PropTypes use .option()
.
{
param: Prop.string.option({ trim: false })
}
PropTypes
and Prop
The abbreviated Prop
can be used instead of the PropTypes
.
PropTypes
can still be used as well.
.isRequired
has been replaced by .required()
..isRequired
is also compatible, but not recommended.
When dynamically setting the default value of PropTypes, the parameter type has been changed to named parameters
.
v0.9
Prop.*.default((event) => {})
v1.0
Prop.*.default(({ event }) => {})
object
and array
expressionsThe interpretation of Object and Array expressions has been changed from validate only when value exists
to required validation
.
When setting the body as shown below, the returned status depends, so check the item
document in PropTypes > Support methods
.
exports.handler = new Middleware().add({
body: {
myId: Prop.string
}
})
v0.9
Even if the body of the request parameter is an empty Object or has no value, status = 200
is returned.
v1.0
If the body of the request parameter is an empty Object or has no value, status = 400
is returned.
In order to validate only when value exists
for the body, you must also set PropTypes on the body.
exports.handler = new Middleware().add({
body: Prop.object.item({
myId: Prop.string
})
})
FAQs
AWS Lambda Middleware
The npm package aws-lambda-middleware receives a total of 39 weekly downloads. As such, aws-lambda-middleware popularity was classified as not popular.
We found that aws-lambda-middleware demonstrated a healthy version release cadence and project activity because the last version was released less than 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.