diff --git a/packages/core/adapters/http-adapter.ts b/packages/core/adapters/http-adapter.ts index 0c0ae329fb1..6e079fe55dd 100644 --- a/packages/core/adapters/http-adapter.ts +++ b/packages/core/adapters/http-adapter.ts @@ -117,7 +117,11 @@ export abstract class AbstractHttpAdapter< abstract setErrorHandler(handler: Function, prefix?: string); abstract setNotFoundHandler(handler: Function, prefix?: string); abstract isHeadersSent(response: any); + // TODO remove optional signature (v11) + abstract getHeader?(response: any, name: string); abstract setHeader(response: any, name: string, value: string); + // TODO remove optional signature (v11) + abstract appendHeader?(response: any, name: string, value: string); abstract registerParserMiddleware(prefix?: string, rawBody?: boolean); abstract enableCors( options: CorsOptions | CorsOptionsDelegate, diff --git a/packages/core/test/utils/noop-adapter.spec.ts b/packages/core/test/utils/noop-adapter.spec.ts index dc7daecb2c1..274b6e5d076 100644 --- a/packages/core/test/utils/noop-adapter.spec.ts +++ b/packages/core/test/utils/noop-adapter.spec.ts @@ -21,7 +21,9 @@ export class NoopHttpAdapter extends AbstractHttpAdapter { setErrorHandler(handler: Function, prefix = '/'): any {} setNotFoundHandler(handler: Function, prefix = '/'): any {} isHeadersSent(response: any): any {} + getHeader?(response: any, name: string) {} setHeader(response: any, name: string, value: string): any {} + appendHeader?(response: any, name: string, value: string) {} registerParserMiddleware(): any {} enableCors(options: any): any {} createMiddlewareFactory(requestMethod: RequestMethod): any {} diff --git a/packages/platform-express/adapters/express-adapter.ts b/packages/platform-express/adapters/express-adapter.ts index faf26eb01bc..6ff37178b09 100644 --- a/packages/platform-express/adapters/express-adapter.ts +++ b/packages/platform-express/adapters/express-adapter.ts @@ -143,10 +143,18 @@ export class ExpressAdapter extends AbstractHttpAdapter< return response.headersSent; } + public getHeader?(response: any, name: string) { + return response.get(name); + } + public setHeader(response: any, name: string, value: string) { return response.set(name, value); } + public appendHeader?(response: any, name: string, value: string) { + return response.append(name, value); + } + public listen(port: string | number, callback?: () => void): Server; public listen( port: string | number, diff --git a/packages/platform-fastify/adapters/fastify-adapter.ts b/packages/platform-fastify/adapters/fastify-adapter.ts index c446729778d..54e2df387e6 100644 --- a/packages/platform-fastify/adapters/fastify-adapter.ts +++ b/packages/platform-fastify/adapters/fastify-adapter.ts @@ -466,10 +466,18 @@ export class FastifyAdapter< return response.sent; } + public getHeader?(response: any, name: string) { + return response.getHeader(name); + } + public setHeader(response: TReply, name: string, value: string) { return response.header(name, value); } + public appendHeader?(response: any, name: string, value: string) { + response.header(name, value); + } + public getRequestHostname(request: TRequest): string { return request.hostname; }