From 0a28dd66568b6c093349337c9121b68c0cd8c4ef Mon Sep 17 00:00:00 2001 From: Steve Reis <stevereis93@gmail.com> Date: Sun, 31 Oct 2021 21:43:18 +0100 Subject: [PATCH] WIP: interceptor add headers --- .../interceptors/headers.interceptor.ts | 25 +++++++++++++------ 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/api/src/engine/interceptors/headers.interceptor.ts b/api/src/engine/interceptors/headers.interceptor.ts index 28c397f..c51b5ca 100644 --- a/api/src/engine/interceptors/headers.interceptor.ts +++ b/api/src/engine/interceptors/headers.interceptor.ts @@ -5,20 +5,31 @@ import { ExecutionContext, CallHandler, } from '@nestjs/common'; +import { GqlExecutionContext } from '@nestjs/graphql'; +import { IncomingMessage } from 'http'; import { Observable } from 'rxjs'; @Injectable() export class HeadersInterceptor implements NestInterceptor { constructor(private httpService: HttpService) {} - intercept(context: ExecutionContext, next: CallHandler): Observable<any> { - const request = context.switchToHttp().getRequest<Request>(); + intercept(context: GqlExecutionContext, next: CallHandler): Observable<any> { + // cleaner : add only the auth header (should find the name) - //console.log(context.switchToHttp().getRequest()); - - console.log('interceptor headers', request); - - //this.httpService.axiosRef.defaults.headers = request.headers; + switch (context.getType()) { + case 'http': { + const ctx = context.switchToHttp(); + const request = ctx.getRequest<Request>(); + this.httpService.axiosRef.defaults.headers = request.headers; + break; + } + case 'graphql': { + const ctx = GqlExecutionContext.create(context); + const req: IncomingMessage = ctx.getContext().req; + this.httpService.axiosRef.defaults.headers = req.headers; + break; + } + } return next.handle(); } -- GitLab