How to make an angular module to ignore http interceptor added in a core module

angular, angular-http-interceptors

Solution

You can use HttpBackend.

Example:

import { HttpClient, ..., HttpBackend } from '@angular/common/http';

@Injectable()
export class TestService {

  private httpClient: HttpClient;

  constructor( handler: HttpBackend) { 
     this.httpClient = new HttpClient(handler);
  }

In this way the service is not intercepted by AuthInterceptor.

Problem

I do have a core module with an HttpInterceptor for authorization handling and I include this module in AppModule, in this way all the other modules that use HttpClient are using this interceptor. ``` @NgModule({ imports: [], declarations: [], providers: [ { provide: HTTP_INTERCEPTORS, useClass: AuthInterceptor, multi: true, }, ] }) export class CoreModule { } ``` How to make a module bypass the default interceptor? ``` @NgModule({ imports: [ CommonModule ], declarations: components, providers: [CustomService], exports: components, }) export class ModuleWithoutInterceptorModule { } ```

Original source