import { NgModule, ModuleWithProviders } from '@angular/core'; import { MwHttpService, MwHttpConfigService, HTTP_CONFIG, AggHttpService, } from './services'; import { TranslateModule } from '@ngx-translate/core'; import { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http'; import { HttpConfig } from './types'; import { MwHttpDateInterceptor } from './interceptors/http-date-interceptor'; import { MwUrlService } from './services/url.service'; @NgModule({ imports: [HttpClientModule, TranslateModule], providers: [AggHttpService, MwHttpService, MwHttpConfigService, MwUrlService], }) export class MwHttpModule { static forRoot(config: HttpConfig): ModuleWithProviders { return { ngModule: MwHttpModule, providers: [ { provide: HTTP_CONFIG, useValue: config, }, { provide: HTTP_INTERCEPTORS, useClass: MwHttpDateInterceptor, multi: true, }, ], }; } }