Я пытаюсь обработать ошибки из угловых HTTP-запросов, но я всегда получаю «ОШИБКУ ВНУТРЕННЕГО СЕРВЕРА» вместо сообщения
Когда я смотрю на сеть, я вижу ошибку 500 с сообщением:
Но в коде он не перехватывается должным образом
Это мой сервис:
import { Injectable } from '@angular/core';
import { ConfigService } from '../config/config.service';
import { HttpClient, HttpErrorResponse } from "@angular/common/http";
import { Observable, throwError } from 'rxjs';
import { catchError, map } from 'rxjs/operators';
@Injectable({
providedIn: "root"
})
export class ProxyService {
private proxyUrl = ConfigService.settings.proxyServer.url + "/v1";
constructor(private http: HttpClient) {}
postProxy(url: string,form: FormData,responseType: any): Observable<any> {
const requestUrl = `${this.proxyUrl}/${url}`;
return this.http.post(requestUrl, form, {
responseType: responseType
})
.pipe(
map( (res) => res),
catchError((e:any) => this.errorHandler(e))
)
}
errorHandler(error: HttpErrorResponse){
console.log('errorHandle',error);
console.log('errorHandle message?', error.message);
return throwError(error.error)
}
}
И это то, что я делаю вмой запрос компонента:
this.proxyService.postProxy(proxyRequestUrl, proxyRequestForm, responseType).subscribe(
data => {
this.result.type = "image";
this.createImageFromBlob(data);
},
(error) => {
console.error("error", error);
console.log(this.errors);
// console.error(error);
this.errors.push(error);
},
() => {
console.log('finished')
this.demoLoading = false;
}
)
В моем компоненте, который выполняет вызов API, я попал в часть ошибки, но у меня нет правильного сообщения:
Кроме того, запрос никогда не попадает в конец файла в моем console.log («завершено»)
Я использую rxjs 6.3.3 и угловой 7.2