Skip to content

Commit 2cf5cf2

Browse files
committed
WEB-826: Improve null-safety in ErrorHandlerInterceptor
Safely access response.error with optional chaining; honor root error.defaultUserMessage before developerMessage. Handles network errors and non-JSON responses without crashing. Made-with: Cursor
1 parent d7c9f67 commit 2cf5cf2

1 file changed

Lines changed: 4 additions & 5 deletions

File tree

src/app/core/http/error-handler.interceptor.ts

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -45,11 +45,10 @@ export class ErrorHandlerInterceptor implements HttpInterceptor {
4545
*/
4646
private handleError(response: HttpErrorResponse, request: HttpRequest<any>): Observable<HttpEvent<any>> {
4747
const status = response.status;
48-
let errorMessage = response.error.developerMessage || response.message;
49-
if (response.error.errors) {
50-
if (response.error.errors[0]) {
51-
errorMessage = response.error.errors[0].defaultUserMessage || response.error.errors[0].developerMessage;
52-
}
48+
const error = response?.error;
49+
let errorMessage = error?.defaultUserMessage || error?.developerMessage || response?.message || 'Unknown error';
50+
if (error?.errors?.[0]) {
51+
errorMessage = error.errors[0].defaultUserMessage || error.errors[0].developerMessage || errorMessage;
5352
}
5453

5554
const isClientImage404 = status === 404 && request.url.includes('/clients/') && request.url.includes('/images');

0 commit comments

Comments
 (0)