Useful interceptors for Angular
npm install angular-interceptors --save
Cache all HTTP GET
requests.
GET
requests with adisable-cache
header will not be cached.
import {CacheInterceptorModule} from 'angular-interceptors';
@NgModule({
imports: [
CacheInterceptorModule.forRoot(3 * 1000) // Max age in milliseconds. In this case 3 seconds. Defaults to 5 seconds.
]
})
Example:
this.http.get('https://some.url'); // --> https://some.url
this.http.get('https://some.url');
setTimeout(() => {
this.http.get('https://some.url'); // --> https://some.url
}, 5001);
Change http://
to https://
in HTTP request urls.
import {EnsureHttpsInterceptorModule} from 'angular-interceptors';
@NgModule({
imports: [
EnsureHttpsInterceptorModule.forRoot()
]
})
Example:
this.http.get('http://some.url'); // --> https://some.url
this.http.get('https://some.url'); // --> https://some.url
Prefix HTTP request urls.
import {PrefixUrlInterceptorModule} from 'angular-interceptors';
@NgModule({
imports: [
PrefixUrlInterceptorModule.forRoot('https://some.url') // prefix
]
})
Example:
this.http.get('/api/user'); // --> https://some.url/api/user
The configurations are also available as InjectionToken
s:
InjectionToken | Module |
---|---|
MAX_AGE_MS |
CacheInterceptorModule |
PREFIX |
PrefixUrlInterceptorModule |
import {MAX_AGE_MS, PREFIX} from 'angular-interceptors';
@NgModule({
providers: [
{provide: MAX_AGE_MS, useValue: 3 * 1000},
{provide: PREFIX, useValue: 'https://some.url'}
]
})