From 9e37209d7e0dc62851ea1b7fb9d454a462c09d35 Mon Sep 17 00:00:00 2001 From: stevereis <stevereis93@gmail.com> Date: Fri, 29 Oct 2021 16:19:06 +0200 Subject: [PATCH] WIP --- .../connectors/exareme/main.connector.ts | 5 ++++ api/src/engine/engine.controller.ts | 3 +++ api/src/engine/engine.resolver.ts | 4 ++- .../interceptors/headers.interceptor.ts | 25 +++++++++++++++++++ 4 files changed, 36 insertions(+), 1 deletion(-) create mode 100644 api/src/engine/interceptors/headers.interceptor.ts diff --git a/api/src/engine/connectors/exareme/main.connector.ts b/api/src/engine/connectors/exareme/main.connector.ts index 11f2ed6..b1c789e 100644 --- a/api/src/engine/connectors/exareme/main.connector.ts +++ b/api/src/engine/connectors/exareme/main.connector.ts @@ -109,6 +109,11 @@ export default class ExaremeService implements IEngineService { async getDomains(ids: string[]): Promise<Domain[]> { const path = this.options.baseurl + 'pathologies'; + console.log( + 'connectors headers', + this.httpService.axiosRef.defaults.headers, + ); + try { const data = await firstValueFrom( this.httpService.get<Pathology[]>(path), diff --git a/api/src/engine/engine.controller.ts b/api/src/engine/engine.controller.ts index fe65f35..fa8a75c 100644 --- a/api/src/engine/engine.controller.ts +++ b/api/src/engine/engine.controller.ts @@ -7,12 +7,15 @@ import { Patch, Post, Req, + UseInterceptors, } from '@nestjs/common'; import { Request } from 'express'; import { Observable } from 'rxjs'; import { ENGINE_SERVICE } from './engine.constants'; import { IEngineService } from './engine.interfaces'; +import { HeadersInterceptor } from './interceptors/headers.interceptor'; +@UseInterceptors(HeadersInterceptor) @Controller() export class EngineController { constructor( diff --git a/api/src/engine/engine.resolver.ts b/api/src/engine/engine.resolver.ts index 0cfac3a..6e23ba3 100644 --- a/api/src/engine/engine.resolver.ts +++ b/api/src/engine/engine.resolver.ts @@ -1,7 +1,8 @@ -import { Inject } from '@nestjs/common'; +import { Inject, UseInterceptors } from '@nestjs/common'; import { Args, Mutation, Query, Resolver } from '@nestjs/graphql'; import { ENGINE_SERVICE } from './engine.constants'; import { IEngineService } from './engine.interfaces'; +import { HeadersInterceptor } from './interceptors/headers.interceptor'; import { Domain } from './models/domain.model'; import { Algorithm } from './models/experiment/algorithm.model'; import { @@ -12,6 +13,7 @@ import { ExperimentCreateInput } from './models/experiment/input/experiment-crea import { ExperimentEditInput } from './models/experiment/input/experiment-edit.input'; import { ListExperiments } from './models/experiment/list-experiments.model'; +@UseInterceptors(HeadersInterceptor) @Resolver() export class EngineResolver { constructor( diff --git a/api/src/engine/interceptors/headers.interceptor.ts b/api/src/engine/interceptors/headers.interceptor.ts new file mode 100644 index 0000000..28c397f --- /dev/null +++ b/api/src/engine/interceptors/headers.interceptor.ts @@ -0,0 +1,25 @@ +import { HttpService } from '@nestjs/axios'; +import { + Injectable, + NestInterceptor, + ExecutionContext, + CallHandler, +} from '@nestjs/common'; +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>(); + + //console.log(context.switchToHttp().getRequest()); + + console.log('interceptor headers', request); + + //this.httpService.axiosRef.defaults.headers = request.headers; + + return next.handle(); + } +} -- GitLab