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

31 lines
899 B
TypeScript
Raw Normal View History

2017-10-27 10:20:35 +02:00
import {Injectable} from '@angular/core';
import {Observable} from 'rxjs/Observable';
import {HttpEvent, HttpInterceptor, HttpHandler, HttpRequest, HttpResponse, HttpErrorResponse} from '@angular/common/http';
2017-11-01 18:18:27 +01:00
import { TokenService, TokenProvider } from './login/token.service';
2017-10-27 10:20:35 +02:00
@Injectable()
export class GlobalInterceptor implements HttpInterceptor {
2017-11-01 18:18:27 +01:00
constructor(public tokenService: TokenService) {}
2017-10-27 10:20:35 +02:00
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) => {
2017-11-01 18:18:27 +01:00
if (err instanceof HttpErrorResponse) {
2017-10-27 10:20:35 +02:00
if (err.status === 401) {
2017-11-01 18:18:27 +01:00
this.tokenService.logout();
2017-10-27 10:20:35 +02:00
}
}
});
2017-11-01 18:18:27 +01:00
//return next.handle(req);
2017-10-27 10:20:35 +02:00
}
}