import { HttpErrorResponse, HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from '@angular/common/http'; import { Injectable } from '@angular/core'; import { Observable } from 'rxjs'; import { tap } from 'rxjs/operators'; import { LoginService } from '#app/services/login/login.service'; @Injectable() export class AuthExpiredInterceptor implements HttpInterceptor { constructor(private loginService: LoginService) {} intercept(request: HttpRequest, next: HttpHandler): Observable> { return next.handle(request).pipe( tap( (_event: HttpEvent) => { // Do nothing }, (err: any) => { if (err instanceof HttpErrorResponse) { if (err.status === 401) { this.loginService.logout(); } } }, ), ); } }