@hmcts/ccpay-web-component 6.2.1 → 6.2.2-beta3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -5,76 +5,45 @@ export class ErrorHandlerService {
|
|
|
5
5
|
constructor() { }
|
|
6
6
|
handleError(err) {
|
|
7
7
|
let errorMessage;
|
|
8
|
-
if
|
|
9
|
-
|
|
8
|
+
// Check if the error is client-side or network error
|
|
9
|
+
if (err.error instanceof ErrorEvent) {
|
|
10
10
|
errorMessage = `An error occurred: ${err.error.message}`;
|
|
11
11
|
}
|
|
12
12
|
else {
|
|
13
|
-
//
|
|
14
|
-
if (err.status === 404) {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
13
|
+
// Check if the error is from the server-side
|
|
14
|
+
if (err.status === 400 || err.status === 404) {
|
|
15
|
+
try {
|
|
16
|
+
// Attempt to parse error as JSON
|
|
17
|
+
const parsedError = typeof err.error === 'string' ? JSON.parse(err.error) : err.error;
|
|
18
|
+
if (parsedError.statusCode && parsedError.statusCode === 500) {
|
|
19
|
+
errorMessage = 'Internal server error';
|
|
20
|
+
}
|
|
21
|
+
else if (parsedError.message) {
|
|
22
|
+
if (parsedError.error != undefined && parsedError.statusCode === 400) {
|
|
23
|
+
errorMessage = parsedError.error;
|
|
19
24
|
}
|
|
20
25
|
else {
|
|
21
|
-
|
|
22
|
-
const parsedError = JSON.parse(err.error);
|
|
23
|
-
errorMessage = parsedError.err;
|
|
24
|
-
}
|
|
25
|
-
else {
|
|
26
|
-
errorMessage = err.error;
|
|
27
|
-
}
|
|
26
|
+
errorMessage = parsedError.message;
|
|
28
27
|
}
|
|
29
28
|
}
|
|
29
|
+
else if (parsedError.error) {
|
|
30
|
+
errorMessage = parsedError.error;
|
|
31
|
+
}
|
|
30
32
|
else {
|
|
31
33
|
errorMessage = err.error;
|
|
32
34
|
}
|
|
33
35
|
}
|
|
34
|
-
|
|
35
|
-
|
|
36
|
+
catch (e) {
|
|
37
|
+
// Fallback if parsing fails
|
|
38
|
+
errorMessage = err.error;
|
|
36
39
|
}
|
|
37
40
|
}
|
|
38
41
|
else if (err.status === 500) {
|
|
39
42
|
errorMessage = 'Internal server error';
|
|
40
43
|
}
|
|
41
|
-
else if (err.error.messsage === undefined) {
|
|
42
|
-
if (typeof err.error === 'object') {
|
|
43
|
-
errorMessage = JSON.parse(JSON.stringify(err.error)).error;
|
|
44
|
-
}
|
|
45
|
-
else {
|
|
46
|
-
if (typeof err.error === 'string' && err.error !== undefined) {
|
|
47
|
-
if (err.error.length > 60) {
|
|
48
|
-
if (JSON.parse(err.error).statusCode !== undefined && JSON.parse(err.error).statusCode === 500) {
|
|
49
|
-
errorMessage = 'Internal server error';
|
|
50
|
-
}
|
|
51
|
-
else {
|
|
52
|
-
if (err.error.length > 60) {
|
|
53
|
-
const parsedError = JSON.parse(err.error);
|
|
54
|
-
errorMessage = parsedError.err;
|
|
55
|
-
}
|
|
56
|
-
else {
|
|
57
|
-
errorMessage = err.error;
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
else {
|
|
62
|
-
errorMessage = err.error;
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
else {
|
|
66
|
-
const parsedError = JSON.parse(err.error);
|
|
67
|
-
errorMessage = parsedError.err;
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
44
|
else {
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
}
|
|
75
|
-
else {
|
|
76
|
-
errorMessage = `${err.error}`;
|
|
77
|
-
}
|
|
45
|
+
// General fallback for other status codes
|
|
46
|
+
errorMessage = err.error.message || err.error;
|
|
78
47
|
}
|
|
79
48
|
}
|
|
80
49
|
return throwError(errorMessage);
|
|
@@ -96,4 +65,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImpor
|
|
|
96
65
|
providedIn: 'root'
|
|
97
66
|
}]
|
|
98
67
|
}], ctorParameters: () => [] });
|
|
99
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
68
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3ItaGFuZGxlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcGF5bWVudC1saWIvc3JjL2xpYi9zZXJ2aWNlcy9zaGFyZWQvZXJyb3ItaGFuZGxlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFjLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFPOUMsTUFBTSxPQUFPLG1CQUFtQjtJQUU5QixnQkFBZ0IsQ0FBQztJQUVuQixXQUFXLENBQUMsR0FBc0I7UUFDaEMsSUFBSSxZQUFvQixDQUFDO1FBRXpCLHFEQUFxRDtRQUNyRCxJQUFJLEdBQUcsQ0FBQyxLQUFLLFlBQVksVUFBVSxFQUFFLENBQUM7WUFDcEMsWUFBWSxHQUFHLHNCQUFzQixHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQzNELENBQUM7YUFBTSxDQUFDO1lBQ04sNkNBQTZDO1lBQzdDLElBQUksR0FBRyxDQUFDLE1BQU0sS0FBSyxHQUFHLElBQUksR0FBRyxDQUFDLE1BQU0sS0FBSyxHQUFHLEVBQUUsQ0FBQztnQkFDN0MsSUFBSSxDQUFDO29CQUNILGlDQUFpQztvQkFDakMsTUFBTSxXQUFXLEdBQUcsT0FBTyxHQUFHLENBQUMsS0FBSyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUM7b0JBRXRGLElBQUksV0FBVyxDQUFDLFVBQVUsSUFBSSxXQUFXLENBQUMsVUFBVSxLQUFLLEdBQUcsRUFBRSxDQUFDO3dCQUM3RCxZQUFZLEdBQUcsdUJBQXVCLENBQUM7b0JBQ3pDLENBQUM7eUJBQU0sSUFBSSxXQUFXLENBQUMsT0FBTyxFQUFFLENBQUM7d0JBQzdCLElBQUcsV0FBVyxDQUFDLEtBQUssSUFBRyxTQUFTLElBQUksV0FBVyxDQUFDLFVBQVUsS0FBSyxHQUFHLEVBQUMsQ0FBQzs0QkFDaEUsWUFBWSxHQUFHLFdBQVcsQ0FBQyxLQUFLLENBQUM7d0JBQ3JDLENBQUM7NkJBQUksQ0FBQzs0QkFDSixZQUFZLEdBQUcsV0FBVyxDQUFDLE9BQU8sQ0FBQzt3QkFDckMsQ0FBQztvQkFDTCxDQUFDO3lCQUFNLElBQUksV0FBVyxDQUFDLEtBQUssRUFBRSxDQUFDO3dCQUM3QixZQUFZLEdBQUcsV0FBVyxDQUFDLEtBQUssQ0FBQztvQkFDbkMsQ0FBQzt5QkFBTSxDQUFDO3dCQUNOLFlBQVksR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDO29CQUMzQixDQUFDO2dCQUNILENBQUM7Z0JBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztvQkFDWCw0QkFBNEI7b0JBQzVCLFlBQVksR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDO2dCQUMzQixDQUFDO1lBQ0gsQ0FBQztpQkFBTSxJQUFJLEdBQUcsQ0FBQyxNQUFNLEtBQUssR0FBRyxFQUFFLENBQUM7Z0JBQzlCLFlBQVksR0FBRyx1QkFBdUIsQ0FBQztZQUN6QyxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sMENBQTBDO2dCQUMxQyxZQUFZLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLElBQUksR0FBRyxDQUFDLEtBQUssQ0FBQztZQUNoRCxDQUFDO1FBQ0gsQ0FBQztRQUNELE9BQU8sVUFBVSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFNQyxxQkFBcUIsQ0FBQyxZQUFZLEVBQUUsY0FBYyxHQUFHLEtBQUssRUFBRSxLQUFLLEdBQUMsRUFBRTtRQUNsRSxNQUFNLFdBQVcsR0FBRyxjQUFjLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUM7UUFDL0QsT0FBTztZQUNMLEtBQUssRUFBRSxxQ0FBcUM7WUFDNUMsSUFBSSxFQUFFLFdBQVc7WUFDakIsU0FBUyxFQUFFLFlBQVk7U0FDeEIsQ0FBQztJQUNKLENBQUM7dUdBdkRVLG1CQUFtQjsyR0FBbkIsbUJBQW1CLGNBSmxCLE1BQU07OzJGQUlQLG1CQUFtQjtrQkFML0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdHRwRXJyb3JSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IE9ic2VydmFibGUsIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5cblxuZXhwb3J0IGNsYXNzIEVycm9ySGFuZGxlclNlcnZpY2Uge1xuXG4gIGNvbnN0cnVjdG9yKCkgeyB9XG5cbmhhbmRsZUVycm9yKGVycjogSHR0cEVycm9yUmVzcG9uc2UpOiBPYnNlcnZhYmxlPGFueT4ge1xuICBsZXQgZXJyb3JNZXNzYWdlOiBzdHJpbmc7XG5cbiAgLy8gQ2hlY2sgaWYgdGhlIGVycm9yIGlzIGNsaWVudC1zaWRlIG9yIG5ldHdvcmsgZXJyb3JcbiAgaWYgKGVyci5lcnJvciBpbnN0YW5jZW9mIEVycm9yRXZlbnQpIHtcbiAgICBlcnJvck1lc3NhZ2UgPSBgQW4gZXJyb3Igb2NjdXJyZWQ6ICR7ZXJyLmVycm9yLm1lc3NhZ2V9YDtcbiAgfSBlbHNlIHtcbiAgICAvLyBDaGVjayBpZiB0aGUgZXJyb3IgaXMgZnJvbSB0aGUgc2VydmVyLXNpZGVcbiAgICBpZiAoZXJyLnN0YXR1cyA9PT0gNDAwIHx8IGVyci5zdGF0dXMgPT09IDQwNCkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgLy8gQXR0ZW1wdCB0byBwYXJzZSBlcnJvciBhcyBKU09OXG4gICAgICAgIGNvbnN0IHBhcnNlZEVycm9yID0gdHlwZW9mIGVyci5lcnJvciA9PT0gJ3N0cmluZycgPyBKU09OLnBhcnNlKGVyci5lcnJvcikgOiBlcnIuZXJyb3I7XG5cbiAgICAgICAgaWYgKHBhcnNlZEVycm9yLnN0YXR1c0NvZGUgJiYgcGFyc2VkRXJyb3Iuc3RhdHVzQ29kZSA9PT0gNTAwKSB7XG4gICAgICAgICAgZXJyb3JNZXNzYWdlID0gJ0ludGVybmFsIHNlcnZlciBlcnJvcic7XG4gICAgICAgIH0gZWxzZSBpZiAocGFyc2VkRXJyb3IubWVzc2FnZSkge1xuICAgICAgICAgICAgaWYocGFyc2VkRXJyb3IuZXJyb3IgIT11bmRlZmluZWQgJiYgcGFyc2VkRXJyb3Iuc3RhdHVzQ29kZSA9PT0gNDAwKXtcbiAgICAgICAgICAgICAgICBlcnJvck1lc3NhZ2UgPSBwYXJzZWRFcnJvci5lcnJvcjtcbiAgICAgICAgICAgIH1lbHNle1xuICAgICAgICAgICAgICBlcnJvck1lc3NhZ2UgPSBwYXJzZWRFcnJvci5tZXNzYWdlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2UgaWYgKHBhcnNlZEVycm9yLmVycm9yKSB7XG4gICAgICAgICAgZXJyb3JNZXNzYWdlID0gcGFyc2VkRXJyb3IuZXJyb3I7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgZXJyb3JNZXNzYWdlID0gZXJyLmVycm9yO1xuICAgICAgICB9XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIC8vIEZhbGxiYWNrIGlmIHBhcnNpbmcgZmFpbHNcbiAgICAgICAgZXJyb3JNZXNzYWdlID0gZXJyLmVycm9yO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoZXJyLnN0YXR1cyA9PT0gNTAwKSB7XG4gICAgICBlcnJvck1lc3NhZ2UgPSAnSW50ZXJuYWwgc2VydmVyIGVycm9yJztcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gR2VuZXJhbCBmYWxsYmFjayBmb3Igb3RoZXIgc3RhdHVzIGNvZGVzXG4gICAgICBlcnJvck1lc3NhZ2UgPSBlcnIuZXJyb3IubWVzc2FnZSB8fCBlcnIuZXJyb3I7XG4gICAgfVxuICB9XG4gIHJldHVybiB0aHJvd0Vycm9yKGVycm9yTWVzc2FnZSk7XG59XG5cblxuXG5cblxuICBnZXRTZXJ2ZXJFcnJvck1lc3NhZ2UoaXNFcnJvckV4aXN0LCBpc0RhdGFOb3RFeGlzdCA9IGZhbHNlLCBlcnJvcj0nJykge1xuICAgIGNvbnN0IGJvZHlDb250ZW50ID0gaXNEYXRhTm90RXhpc3QgPyBlcnJvciA6ICdUcnkgYWdhaW4gbGF0ZXInO1xuICAgIHJldHVybiB7XG4gICAgICB0aXRsZTogXCJUaGVyZSBpcyBhIHByb2JsZW0gd2l0aCB0aGUgc2VydmljZVwiLFxuICAgICAgYm9keTogYm9keUNvbnRlbnQsXG4gICAgICBzaG93RXJyb3I6IGlzRXJyb3JFeGlzdFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
|
|
@@ -283,76 +283,45 @@ class ErrorHandlerService {
|
|
|
283
283
|
constructor() { }
|
|
284
284
|
handleError(err) {
|
|
285
285
|
let errorMessage;
|
|
286
|
-
if
|
|
287
|
-
|
|
286
|
+
// Check if the error is client-side or network error
|
|
287
|
+
if (err.error instanceof ErrorEvent) {
|
|
288
288
|
errorMessage = `An error occurred: ${err.error.message}`;
|
|
289
289
|
}
|
|
290
290
|
else {
|
|
291
|
-
//
|
|
292
|
-
if (err.status === 404) {
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
291
|
+
// Check if the error is from the server-side
|
|
292
|
+
if (err.status === 400 || err.status === 404) {
|
|
293
|
+
try {
|
|
294
|
+
// Attempt to parse error as JSON
|
|
295
|
+
const parsedError = typeof err.error === 'string' ? JSON.parse(err.error) : err.error;
|
|
296
|
+
if (parsedError.statusCode && parsedError.statusCode === 500) {
|
|
297
|
+
errorMessage = 'Internal server error';
|
|
298
|
+
}
|
|
299
|
+
else if (parsedError.message) {
|
|
300
|
+
if (parsedError.error != undefined && parsedError.statusCode === 400) {
|
|
301
|
+
errorMessage = parsedError.error;
|
|
297
302
|
}
|
|
298
303
|
else {
|
|
299
|
-
|
|
300
|
-
const parsedError = JSON.parse(err.error);
|
|
301
|
-
errorMessage = parsedError.err;
|
|
302
|
-
}
|
|
303
|
-
else {
|
|
304
|
-
errorMessage = err.error;
|
|
305
|
-
}
|
|
304
|
+
errorMessage = parsedError.message;
|
|
306
305
|
}
|
|
307
306
|
}
|
|
307
|
+
else if (parsedError.error) {
|
|
308
|
+
errorMessage = parsedError.error;
|
|
309
|
+
}
|
|
308
310
|
else {
|
|
309
311
|
errorMessage = err.error;
|
|
310
312
|
}
|
|
311
313
|
}
|
|
312
|
-
|
|
313
|
-
|
|
314
|
+
catch (e) {
|
|
315
|
+
// Fallback if parsing fails
|
|
316
|
+
errorMessage = err.error;
|
|
314
317
|
}
|
|
315
318
|
}
|
|
316
319
|
else if (err.status === 500) {
|
|
317
320
|
errorMessage = 'Internal server error';
|
|
318
321
|
}
|
|
319
|
-
else if (err.error.messsage === undefined) {
|
|
320
|
-
if (typeof err.error === 'object') {
|
|
321
|
-
errorMessage = JSON.parse(JSON.stringify(err.error)).error;
|
|
322
|
-
}
|
|
323
|
-
else {
|
|
324
|
-
if (typeof err.error === 'string' && err.error !== undefined) {
|
|
325
|
-
if (err.error.length > 60) {
|
|
326
|
-
if (JSON.parse(err.error).statusCode !== undefined && JSON.parse(err.error).statusCode === 500) {
|
|
327
|
-
errorMessage = 'Internal server error';
|
|
328
|
-
}
|
|
329
|
-
else {
|
|
330
|
-
if (err.error.length > 60) {
|
|
331
|
-
const parsedError = JSON.parse(err.error);
|
|
332
|
-
errorMessage = parsedError.err;
|
|
333
|
-
}
|
|
334
|
-
else {
|
|
335
|
-
errorMessage = err.error;
|
|
336
|
-
}
|
|
337
|
-
}
|
|
338
|
-
}
|
|
339
|
-
else {
|
|
340
|
-
errorMessage = err.error;
|
|
341
|
-
}
|
|
342
|
-
}
|
|
343
|
-
else {
|
|
344
|
-
const parsedError = JSON.parse(err.error);
|
|
345
|
-
errorMessage = parsedError.err;
|
|
346
|
-
}
|
|
347
|
-
}
|
|
348
|
-
}
|
|
349
322
|
else {
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
}
|
|
353
|
-
else {
|
|
354
|
-
errorMessage = `${err.error}`;
|
|
355
|
-
}
|
|
323
|
+
// General fallback for other status codes
|
|
324
|
+
errorMessage = err.error.message || err.error;
|
|
356
325
|
}
|
|
357
326
|
}
|
|
358
327
|
return throwError(errorMessage);
|