import { HttpRequest, HttpHandler, HttpInterceptor, HttpEvent, HttpResponse } from '@angular/common/http'; import { Injectable } from '@angular/core'; import { Router } from '@angular/router'; import { Observable } from 'rxjs/Observable'; import 'rxjs/add/operator/do'; import { AppComponent } from '../../app.component'; @Injectable() export class AuthInterceptorService implements HttpInterceptor { hasHeader = true; constructor(private router: Router) { } intercept(req: HttpRequest, next: HttpHandler): Observable> { return next .handle(req) .do(event => { if (event instanceof HttpResponse) { const code: number = event.body.code; if (code === 401) { this.router.navigate(['/login']); } } }); } }