【发布时间】:2021-02-11 20:00:20
【问题描述】:
我需要一个 HttpInterceptor,它将 Http 200 成功响应更改为 500 Http 错误。
但是我有一个有效的拦截器,但是当将成功的答案转换为错误时,http 订阅者直接调用“完成”处理程序(下一个和错误处理程序都没有被调用)。
intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
return next
.handle(request)
.pipe(
map((event: HttpEvent<any>):any => {
let type = this.convertTypeToString(event.type);
if (type === "Response") {
let error: HttpErrorResponse = new HttpErrorResponse({status: 500});
return Observable.create(observer => observer.error(error));
}
return event;
})
);
}
预期行为:当我触发时,例如登录调用,我想返回 - 即使成功登录 - Http 500 错误。
【问题讨论】: