问题标签 [middy]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
node.js - 使用 middy 允许自定义标题
我正在使用middy为我的 AWS lambda 代码处理中间件。下面是我的代码:
问题是,我的前端正在发送一个名为的自定义标头authorizationv2
,当我的前端尝试向我的 AWS lambda 代码发送请求时,浏览器将显示此错误
Access to XMLHttpRequest at 'https://apiv2.website.com/data/list/' from origin 'http://admin.website.com' has been blocked by CORS policy: Request header field authorizationv2 is not allowed by Access-Control-Allow-Headers in preflight response.
所以我假设要解决这个问题,我需要middy
允许自定义标头authorizationv2
。我不完全确定如何使用 middy。
typescript - Middy with TypeScript,回调类型
Middy
我正在尝试在 Lambda API 调用中使用 TyepScript 。我的部分代码:
我尝试使用:
但我得到这个错误middy(myFunction)
:
callback
我应该在myFunction的参数上使用什么类型?
javascript - JavaScript,在异步函数中返回函数回调
callback
将函数中的async
函数作为此代码返回是否存在任何性能问题?:
我正在使用Middy库,我认为这无关紧要,但以防万一。
javascript - Middy API,使用 jsonBodyParser 中间件返回对象
现在我必须以这种方式返回我的数据,使用以下代码:
但我收到一个错误作为回应:
所以我需要返回这个对象内的数据:
但我认为通过使用 middy 我不需要创建那个对象,它已经被字符串化并且里面还有一个 statusCode。我不想为 200、400、500 等手动设置每个 statusCode。有没有办法只return data
将数据作为 javascript 对象?
node.js - 中间件必须是 middy 中的对象
在我的 middy 处理程序中,我尝试从https://www.npmjs.com/package/cls-proxify添加 setClsProxyValue
添加 -
处理程序中的一段代码抛出:
如果我删除
() => {} ,
并只添加setClsProxyValue('requestId', 'testId')
,它会抛出,
我也试过
- 如何解决这个问题?
- 如何在 middy 处理程序中访问相关性 ID/请求 ID?
node.js - 如何将插件应用于@middy/validator?
我正在使用 ajv 和这个@middy/validator中间件为无服务器端点编写验证模式。文档中有一条说明,中间件可以使用外部插件。但不清楚如何应用它们,也没有例子。我想ajv-errors
为自定义错误消息使用插件,https://github.com/ajv-validator/ajv-errors。
请给我一个关于如何应用外部插件的链接或给我一个例子。提前致谢!
node.js - Middy Node js + Serverless + AWS lambda:如何将单个处理程序用于多个端点?
我们在 node js 中有一个无服务器架构的项目。我们计划使用 Middy 来实现 AWS lambda 函数。我们的问题是我们不想为每个 api 端点创建单独的 lambda 函数,我们有非常大的应用程序,可能有超过 100 个 api 端点。
我们想以下列方式使用处理程序。例如:我们有管理用户的功能。它包括 api 端点,例如
- 添加用户
- 编辑用户
- 获取用户
我们希望使用单个 lambda 函数来使用所有这三个端点,因为所有三个 api 共享一些逻辑和模型。
node.js - 即使在使用 @middy/do-not-wait-for-empty-event-loop 之后,AWS 中的 Lambda 也会超时
我有一个问题,我有一个 lambda 处理程序,它调用一个中间件,该中间件解码 JWT 令牌并验证它并修改请求以添加解码的令牌,当我在本地调用我的 lambda 时一切正常,但在部署到 AWS 时它超时。我正在使用 SAM cli 工具在 AWS 中进行部署和资源创建。尝试对我的代码使用@middy/do-not-wait-for-empty-event-loop 但没有运气:(
处理程序代码:
中间件解码JWT:
即使在使用 @middy/do-not-wait-for-empty-event-loop 中间件之后,AWS 中的 Lambda 也会超时,尽管在日志中我仍然可以看到 request.context.callbackWaitsForEmptyEventLoop = false
Node.js 版本:v14.17.6
Middy 版本:v2.5.1
@middy/do-not-wait-for-empty-event-loop: v2.5.1
AWS 开发工具包版本:v2.799.0
node.js - 从自定义 lambda 自定义中间件返回错误
在过去的 3-4 小时里,我一直在尝试从自定义 @middy 中间件正确返回错误,但未成功
这记录:
在邮递员中,我收到空的正文和 502 错误。
这里有什么问题?PS:createError 来自@middy/util
node.js - 如何在测试文件中的函数上使用 middy 中间件?
我正在使用 sinon 在 nodejs 中编写一个测试文件,并且需要在函数调用中使用中间件,如下所示。
baseHandler.js
baseHandlerTest.js
错误
我需要在上面的测试文件中进行哪些更改,以便在app.baseHandler
调用时,中间件开始验证?