Как получить / установить заголовок запроса / ответа в промежуточном ПО [Nest Fastify]?

Как вставить заголовок запроса в NestJS с помощью Fastify.

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 отсутствует в документации nest: https://docs.nestjs.com/middleware

Я безуспешно прочитал документ fastify: https://www.fastify.io/docs/v1.13.x/Reply/ и https://www.fastify.io/docs/v1.13.x/Request/


person Daniel Delgado    schedule 12.09.2020    source источник


Ответы (1)


Промежуточное ПО с Nest - это промежуточное ПО в стиле Express. Хотя с Fastify можно работать, обратите внимание, что вы, по сути, получаете доступ к req.raw и res.raw вместо FastifyRequest и FastifyReply. Стражи и перехватчики обычно более успешны при работе с Fastify, чем стандартное промежуточное ПО, как хедз-ап.

С учетом всего вышесказанного req.headers должен вернуть свойство headers в Incoming Request и _ 8_ следует использовать для установки заголовка на ServerResponse

person Jay McDoniel    schedule 12.09.2020
comment
Спасибо! Было бы неплохо включить это в документацию по гнезду. - person Daniel Delgado; 12.09.2020