在nodejs中扩展一个middy中间件功能

Extending a middy middleware function in nodejs

在我用 nodejs 编写的 lambda 代码中,我想扩展 httpErrorhandler 中间件并围绕它创建一个包装器。

目前我有如下内容。

module.exports.handler=middy(handle).use(httpErrorHandler(LoggingFactory.getLogger().log))

我想创建一个 customHttpErrorHandler,它只是 httpErrorHandler 外的一个包装器。

module.exports.handler=middy(handle).use(customHttpErrorHandler(LoggingFactory.getLogger().log))

这可能吗?我需要在 customHttpErrorHandler 中放入什么?没有要实现的附加功能。这个新的 customHandler 应该只是将控制传递给标准 httpErrorHandler.

customHttpErrorHandler 可能如下所示(伪代码)。

connectHttpErrorHandler = (logger) => httpErrorHandler(logger)

嗨,这里是 Middy 的核心维护者。您的伪代码几乎是正确的。在 Middy >=2.0.0 中,httpErrorHandler 采用一个选项对象。有关文档,请参阅 https://github.com/middyjs/middy/tree/main/packages/http-error-handler

const connectHttpErrorHandler = (logger) => httpErrorHandler({logger})

const logger = LoggingFactory.getLogger().log

module.exports.handler = middy(handler)
  .use(customHttpErrorHandler(logger))