Acceso al cuerpo de respuesta de error HTTP desde HttpInterceptor en angular
Tengo un HttpInterceptor para detectar errores y mostrarlos en modo modal. Además del código de error y el mensaje, también me gustaría mostrar el cuerpo de la respuesta que en realidad contiene una descripción más precisa del error (por ejemplo, en un error del servidor interno 500). ¿Cómo puedo lograr esto en angular? (Estoy usando la versión 4.3.6.)
Ya miré las preguntas relacionadas, pero las respuestas como HttpErrorResponse._body o similar no funcionan para mí. Además, al inspeccionar la respuesta de error en la consola, HttpErrorResponse.error se establece en nulo.
Así es como se ve mi interceptor actualmente:
@Injectable()
export class HttpErrorInterceptor implements HttpInterceptor {
public constructor(private httpErrorService: HttpErrorService) { }
public intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
return next.handle(req).do(event => {
}, (error: HttpErrorResponse) => {
console.log('HTTPERROR INTERCEPTOR');
console.log(error);
if (error.status >= 400) {
this.httpErrorService.onError(error);
}
});
}
}