I'm trying to get started with Middy to validate input schema on AWS lambda.
The lambda function below keeps throwing this error:
Middleware must be an object containing at least one key among "before", "after", "onError"
Anyone knows what could be the issue?
I'm running
Node v18.12.1
"@middy/core": "^4.0.2",
"@middy/http-error-handler": "^4.0.2",
"@middy/http-json-body-parser": "^4.0.2",
"@middy/validator": "^4.0.2",
here is the lambda code
import middy from "@middy/core";
import validator from "@middy/validator";
import httpErrorHandler from "@middy/http-error-handler";
import jsonBodyParser from "@middy/http-json-body-parser";
const baseHandler = (event) => {
const { fname, lname } = event.body;
return {
statusCode: 200,
headers: { "Content-Type": "text/plain" },
body: `Hello, ${fname}-${lname}.`,
};
};
const inputSchema = {
type: "object",
properties: {
body: {
type: "object",
properties: {
fname: { type: "string" },
lname: { type: "string" },
},
required: ["fname", "lname"],
},
},
};
const handler = middy(baseHandler)
.use(jsonBodyParser())
.use(
validator({
inputSchema,
})
)
.use(httpErrorHandler());
export { handler };
I expected that the validator throws an error when the input parameters are not provided to the function