From bccdb8986535fbcc9722b204a3dbf1cbc2bd98c7 Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Sun, 5 Sep 2021 22:18:16 +0100 Subject: [PATCH 1/2] fix headers no longer readonly --- types/request.d.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/types/request.d.ts b/types/request.d.ts index 5915c1aaef..2857fba3b5 100644 --- a/types/request.d.ts +++ b/types/request.d.ts @@ -23,6 +23,7 @@ export interface FastifyRequest< params: RouteGeneric['Params']; raw: RawRequest; query: RouteGeneric['Querystring']; + headers: RawRequest['headers'] & RouteGeneric['Headers']; // this enables the developer to extend the existing http(s|2) headers list log: FastifyLoggerInstance; server: FastifyInstance; body: RouteGeneric['Body']; @@ -34,7 +35,6 @@ export interface FastifyRequest< * @deprecated Use `raw` property */ readonly req: RawRequest; - readonly headers: RawRequest['headers'] & RouteGeneric['Headers']; // this enables the developer to extend the existing http(s|2) headers list readonly ip: string; readonly ips?: string[]; readonly hostname: string; From 2d49a47783683a5bfdd6e299896f96ebde0d4034 Mon Sep 17 00:00:00 2001 From: Jonathan Taylor Date: Mon, 6 Sep 2021 10:31:58 +0100 Subject: [PATCH 2/2] test that headers can be set --- test/types/request.test-d.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/test/types/request.test-d.ts b/test/types/request.test-d.ts index 56d0a1a083..aa50150c1e 100644 --- a/test/types/request.test-d.ts +++ b/test/types/request.test-d.ts @@ -1,6 +1,6 @@ import { expectType } from 'tsd' import fastify, { RouteHandler, RawRequestDefaultExpression, RequestBodyDefault, RequestGenericInterface } from '../../fastify' -import { RawServerDefault, RequestParamsDefault, RequestHeadersDefault, RequestQuerystringDefault, RawReplyDefaultExpression } from '../../types/utils' +import { RequestParamsDefault, RequestHeadersDefault, RequestQuerystringDefault } from '../../types/utils' import { FastifyLoggerInstance } from '../../types/logger' import { FastifyRequest } from '../../types/request' import { FastifyReply } from '../../types/reply' @@ -50,7 +50,10 @@ const getHandler: RouteHandler = function (request, _reply) { expectType(request.raw) expectType(request.body) expectType(request.params) + expectType(request.headers) + request.headers = {} + expectType(request.query) expectType(request.id) expectType(request.log)