Я пытаюсь перехватить HTTP-ответы и перенаправить любые 401, но объект err ниже возвращает мне только следующую строку. Я ожидал хотя бы найти код статуса ..
401 - Несанкционированные сведения: ответ об ошибке HTTP для http://localhost:4200/api/foo: 401 Неавторизованный
На вкладке сети я вижу, что сервер возвращает правильно сформированный 401. Есть идеи, как я могу их правильно читать?
intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
const authRequest = request.clone({
setHeaders: {
Authorization: `Bearer ${this.authService.getToken() || ''}`
}
});
return next.handle(authRequest).do(event => { }, err => {
if (err instanceof HttpErrorResponse && err.status === 401) {
this.authService.handleAuthentication();
}
});
}
Изменить: я только что заметил, что если я отключу веб-сервер, чтобы принудительно установить тайм-аут шлюза 504, я также получаю сообщение об ошибке в виде полной строки без кода ошибки.
504 - Сведения о тайм-ауте шлюза: ответ об ошибке HTTP для http://localhost:4200/api/foo: Ошибка 504 Время ответа сервера истекло