import {Injectable} from '@angular/core'; import {Observable} from 'rxjs/Observable'; import {HttpEvent, HttpInterceptor, HttpHandler, HttpRequest, HttpResponse, HttpErrorResponse} from '@angular/common/http'; import {Router} from '@angular/router'; @Injectable() export class GlobalInterceptor implements HttpInterceptor { constructor( private router : Router) {} intercept(req: HttpRequest, next: HttpHandler): Observable> { return next.handle(req).do((event: HttpEvent) => { /* if (event instanceof HttpResponse) { console.log("response ok"); } */ }, (err: any) => { if (err instanceof HttpErrorResponse) { if (err.status === 401) { console.log("Received an unauthorized... redirecting to login page"); this.router.navigate(['/login'], { queryParams: { /*returnUrl: this.state.url*/ }}); } } }); //return next.handle(req); } }