Angular / RxJx-在失败的请求上访问响应头

时间:2018-09-26 07:53:42

标签: angular error-handling header request rxjs

比方说,我进行GET请求并订阅结果流。 如果请求失败,我想访问响应的标头以将其传递给我的错误报告工具。

传递给handleError的错误包含它自己的headers-object,尽管我可以在浏览器中很好地读取响应标头,但该错误始终为空。

我的理解是,该流将抛出一个错误对象,该对象不同于失败的流。

http.get('url').pipe(
  catchError((err: HttpErrorResponse) => handleError(err))
).subscribe(...);

现在,我知道catchError()提供了另一个名为 caught 的参数,它是原始的(失败的)流,但是我不能将其传递或订阅它,因为我冒着创建infinite loop of failing requests的风险。

我想念什么?

1 个答案:

答案 0 :(得分:0)

事实证明,HttpErrorResponse标头为空,因为我没有在端点返回的响应中正确设置 Access-Control-Expose-Headers 标头。

将其设置为包含我要访问的属性的键,可以通过HttpErrorResponse.headers使用此标头!

相关问题