argos/dmp-frontend/src/app/services/interceptor.ts

31 lines
899 B
TypeScript

import {Injectable} from '@angular/core';
import {Observable} from 'rxjs/Observable';
import {HttpEvent, HttpInterceptor, HttpHandler, HttpRequest, HttpResponse, HttpErrorResponse} from '@angular/common/http';
import { TokenService, TokenProvider } from './login/token.service';
@Injectable()
export class GlobalInterceptor implements HttpInterceptor {
constructor(public tokenService: TokenService) {}
intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
return next.handle(req).do((event: HttpEvent<any>) => {
/*
if (event instanceof HttpResponse) {
console.log("response ok");
}
*/
}, (err: any) => {
if (err instanceof HttpErrorResponse) {
if (err.status === 401) {
this.tokenService.logout();
}
}
});
//return next.handle(req);
}
}