如何在中间件 [Nestjs Fastify] 中 get/set request/response header?

How to get/set request/response header in middelware [Nest Fastify]?

如何使用 Fastify 在 NestJS 中注入请求 header。

import { FastifyRequest, FastifyReply } from 'fastify'; // fastify types are not valid

@Injectable()
export class TracingMiddleware implements NestMiddleware {
  use(req: any, res: any, next: () => void) {
    console.log('MyRequestHeaderKey', req.headers['MyRequestHeaderKey']); // find out how to get a header 
    res.header('MyResponseHeaderKey', 'MyResponseHeaderValue'); // find out how to set headers
    next();
  }
}

嵌套文档中没有关于 fastify 中间件的参考:https://docs.nestjs.com/middleware

我已经阅读了 fastify 文档但没有成功:https://www.fastify.io/docs/v1.13.x/Reply/ &https://www.fastify.io/docs/v1.13.x/Request/

带 Nest 的中间件是 Express-style 中间件。虽然可以使用 Fastify,但请注意,您实际上是在访问 req.rawres.raw,而不是 FastifyRequestFastifyReplyGuards and interceptors 在使用 Fastify 时通常比使用标准中间件更成功,请注意。

综上所述,req.headers 应该拉回 headers 属性 Incoming Request, and res.setHeader() 应该用于设置 header ServerResponse