Я хочу, чтобы пользователь автоматически вышел из системы, если какой-либо API возвращает ответ об ошибке 401. И для этого я перехватываю каждый запрос, и как только приходит код ошибки 401, я очищаю токен jwt в своем локальном хранилище иauth guard предотвращает переход пользователя на этот маршрут. Но после реализации перехватчика (примеров для этого очень мало, и также нет упоминаний в документации), я не могу выполнить ни одного HTTP-запроса. Ниже приведен мой код. Спасибо заранее.
import { Injectable, Injector } from '@angular/core';
import {HttpEvent, HttpInterceptor, HttpHandler, HttpRequest, HttpErrorResponse} from '@angular/common/http';
import { Observable } from 'rxjs/Rx';
import 'rxjs/add/observable/throw'
import 'rxjs/add/operator/catch';
@Injectable()
export class ResponseInterceptor implements HttpInterceptor {
constructor() {
}
intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
return next.handle(request).do((event: HttpEvent<any>) => {
}, (err: any) => {
if (err instanceof HttpErrorResponse) {
// do error handling here
console.log('and the error is ');
console.log(err)
}
});
}
}