Я хотел бы перехватить 401 и другие ошибки, чтобы соответственно реагировать. Это мой перехватчик:
import { LoggingService } from './../logging/logging.service';
import { Injectable } from '@angular/core';
import { HttpInterceptor, HttpHandler, HttpRequest, HttpEvent, HttpResponse, HttpErrorResponse } from '@angular/common/http';
import { Observable } from 'rxjs/Observable';
import 'rxjs/add/operator/do';
@Injectable()
export class TwsHttpInterceptor implements HttpInterceptor {
constructor(private logger: LoggingService) { }
intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
this.logger.logDebug(request);
return next.handle(request)
.do(event => {
if (event instanceof HttpResponse) {
this.logger.logDebug(event);
}
});
}
}
Хотя это хорошо работает для 200 запросов, оно не перехватывает ошибки respsonses
Все, что я вижу в консоли chrome dev, это:
zone.js: 2616 GET http://localhost: 8080/backend/rest/misurl 404 (не найдено)
Или это
zone.js: 2616 GET http://localhost: 8080/backend/rest/url 401 (неавторизованный)
Я хотел бы, чтобы мой перехватчик справился с этим. Что мне не хватает?