import {ModuleWithProviders, NgModule} from '@angular/core';
import { HTTP_INTERCEPTORS } from "@angular/common/http";
import { HttpCacheInterceptorInterceptor } from './http-cache-interceptor.interceptor'
import { P3X_HTTP_CACHE_CONFIG } from "./http-cache-config.token";
import { HttpCacheConfig } from "./http-cache-config";
@NgModule({
declarations: [],
imports: [
],
providers: [
{
provide: HTTP_INTERCEPTORS,
useClass: HttpCacheInterceptorInterceptor,
multi: true
}
],
exports: []
})
export class P3XHttpCacheInterceptorModule {
static forRoot(httpCacheConfig: HttpCacheConfig): ModuleWithProviders<P3XHttpCacheInterceptorModule> {
return {
ngModule: P3XHttpCacheInterceptorModule,
providers: [
{
provide: P3X_HTTP_CACHE_CONFIG,
useValue: httpCacheConfig
}
]
};
}
}