diff --git a/api/src/engine/connectors/exareme/main.connector.ts b/api/src/engine/connectors/exareme/main.connector.ts index 11f2ed6c18118d813a830ad2cb34c808203be43b..b1c789e9909c445a77d001bd50c12d1070200584 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 fe65f352e83e325879d414855a582ad5fec8619a..fa8a75c6edee62019cff52a19647ed5cb3eec3e1 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 0cfac3a5b1fdc02c82b74cd31928a554c45bc550..6e23ba38ca26d1129e51abb7cbba8d311cad67b9 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 0000000000000000000000000000000000000000..28c397fa238fc1baf676b12fcdd199431f45fe74 --- /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(); + } +}