Skip to content

Commit fa26b97

Browse files
committed
WEB-933: Fix null dereference in ErrorHandlerInterceptor when defaultUserMessage is null
1 parent ed7ad25 commit fa26b97

1 file changed

Lines changed: 12 additions & 14 deletions

File tree

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

Lines changed: 12 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -92,21 +92,19 @@ export class ErrorHandlerInterceptor implements HttpInterceptor {
9292
: nestedMessage
9393
: topLevelMessage;
9494
let parameterName: string | null = null;
95-
if (response.error.errors) {
96-
if (response.error.errors[0]) {
97-
if (
98-
response.error.errors[0].userMessageGlobalisationCode &&
99-
this.databaseErrorCodes.indexOf(response.error.errors[0].userMessageGlobalisationCode) > -1
100-
) {
101-
errorMessage = this.translate.instant('errors.error.msg.data.integrity.issue');
102-
} else {
103-
errorMessage =
104-
response.error.errors[0].defaultUserMessage.replace(/\\./g, ' ') ||
105-
response.error.errors[0].developerMessage.replace(/\\./g, ' ');
106-
}
95+
if (errorBody?.errors?.[0]) {
96+
const firstError = errorBody.errors[0];
97+
if (
98+
firstError.userMessageGlobalisationCode &&
99+
this.databaseErrorCodes.indexOf(firstError.userMessageGlobalisationCode) > -1
100+
) {
101+
errorMessage = this.translate.instant('errors.error.msg.data.integrity.issue');
102+
} else {
103+
errorMessage =
104+
firstError.defaultUserMessage?.replace(/\\./g, ' ') || firstError.developerMessage?.replace(/\\./g, ' ');
107105
}
108-
if ('parameterName' in errorBody.errors[0]) {
109-
parameterName = errorBody.errors[0].parameterName;
106+
if ('parameterName' in firstError) {
107+
parameterName = firstError.parameterName;
110108
}
111109
}
112110
const isClientImage404 = status === 404 && request.url.includes('/clients/') && request.url.includes('/images');

0 commit comments

Comments
 (0)