如何编写包含所有传入 HTTP 请求的 NestJS 回调

问题描述 投票:0回答:1

如何为所有 HTTP 请求获取包装器回调,类似于 Express 的做法,以便当 100 毫秒长的 HTTP 请求传入时,我可以在请求的开头和结尾记录 2 行:

0ms HTTP request start
100ms Response delivered

app.useGlobalInterceptors()
MiddlewareConsumer.apply()
都采用在请求开始的第一个毫秒结束的回调。

nestjs
1个回答
0
投票

以下内容按预期工作。

@Injectable()
export class LoggerMiddleware implements NestMiddleware {
  use(req: Request, res: Response, next: NextFunction) {
    console.log('start')
    req.on('end', () => {
      console.log('end')
    })
    next()
  }
}
export class AppModule implements NestModule {
  configure(consumer: MiddlewareConsumer) {
    consumer
      .apply(LoggerMiddleware),
  }
}

基于此开放遥测示例。感谢 NestJS Discord 上的用户脚本帮助我解决这个问题!

© www.soinside.com 2019 - 2024. All rights reserved.