@hmcts/ccpay-web-component 6.2.2-beta3 → 6.2.2-beta5
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,32 +5,40 @@ export class ErrorHandlerService {
|
|
|
5
5
|
constructor() { }
|
|
6
6
|
handleError(err) {
|
|
7
7
|
let errorMessage;
|
|
8
|
+
if (!err) {
|
|
9
|
+
return throwError('An unexpected error occurred');
|
|
10
|
+
}
|
|
8
11
|
// Check if the error is client-side or network error
|
|
9
12
|
if (err.error instanceof ErrorEvent) {
|
|
10
13
|
errorMessage = `An error occurred: ${err.error.message}`;
|
|
11
14
|
}
|
|
12
15
|
else {
|
|
13
16
|
// Check if the error is from the server-side
|
|
14
|
-
if (err.status === 400 || err.status === 404) {
|
|
17
|
+
if (err.status === 400 || err.status === 404 || err.status === 500) {
|
|
15
18
|
try {
|
|
16
19
|
// Attempt to parse error as JSON
|
|
17
20
|
const parsedError = typeof err.error === 'string' ? JSON.parse(err.error) : err.error;
|
|
18
|
-
if (parsedError
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
if (parsedError.
|
|
21
|
+
if (parsedError) {
|
|
22
|
+
if (parsedError.statusCode && parsedError.statusCode === 500) {
|
|
23
|
+
errorMessage = 'Internal server error';
|
|
24
|
+
}
|
|
25
|
+
else if (parsedError.message) {
|
|
26
|
+
if (parsedError.error != undefined && parsedError.statusCode === 400) {
|
|
27
|
+
errorMessage = parsedError.error;
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
errorMessage = parsedError.message;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
else if (parsedError.error) {
|
|
23
34
|
errorMessage = parsedError.error;
|
|
24
35
|
}
|
|
25
36
|
else {
|
|
26
|
-
errorMessage =
|
|
37
|
+
errorMessage = err.error;
|
|
27
38
|
}
|
|
28
39
|
}
|
|
29
|
-
else if (parsedError.error) {
|
|
30
|
-
errorMessage = parsedError.error;
|
|
31
|
-
}
|
|
32
40
|
else {
|
|
33
|
-
errorMessage =
|
|
41
|
+
errorMessage = 'An unexpected error occurred';
|
|
34
42
|
}
|
|
35
43
|
}
|
|
36
44
|
catch (e) {
|
|
@@ -65,4 +73,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImpor
|
|
|
65
73
|
providedIn: 'root'
|
|
66
74
|
}]
|
|
67
75
|
}], ctorParameters: () => [] });
|
|
68
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
76
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3ItaGFuZGxlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcGF5bWVudC1saWIvc3JjL2xpYi9zZXJ2aWNlcy9zaGFyZWQvZXJyb3ItaGFuZGxlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFjLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFPOUMsTUFBTSxPQUFPLG1CQUFtQjtJQUU5QixnQkFBZ0IsQ0FBQztJQUVuQixXQUFXLENBQUMsR0FBc0I7UUFDaEMsSUFBSSxZQUFvQixDQUFDO1FBRXhCLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUNOLE9BQU8sVUFBVSxDQUFDLDhCQUE4QixDQUFDLENBQUM7UUFDcEQsQ0FBQztRQUVMLHFEQUFxRDtRQUNyRCxJQUFJLEdBQUcsQ0FBQyxLQUFLLFlBQVksVUFBVSxFQUFFLENBQUM7WUFDcEMsWUFBWSxHQUFHLHNCQUFzQixHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQzNELENBQUM7YUFBTSxDQUFDO1lBQ04sNkNBQTZDO1lBQzdDLElBQUksR0FBRyxDQUFDLE1BQU0sS0FBSyxHQUFHLElBQUksR0FBRyxDQUFDLE1BQU0sS0FBSyxHQUFHLElBQUksR0FBRyxDQUFDLE1BQU0sS0FBSyxHQUFHLEVBQUUsQ0FBQztnQkFDbkUsSUFBSSxDQUFDO29CQUNILGlDQUFpQztvQkFDakMsTUFBTSxXQUFXLEdBQUcsT0FBTyxHQUFHLENBQUMsS0FBSyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUM7b0JBQ3RGLElBQUcsV0FBVyxFQUFDLENBQUM7d0JBQ2QsSUFBSSxXQUFXLENBQUMsVUFBVSxJQUFJLFdBQVcsQ0FBQyxVQUFVLEtBQUssR0FBRyxFQUFFLENBQUM7NEJBQzdELFlBQVksR0FBRyx1QkFBdUIsQ0FBQzt3QkFDekMsQ0FBQzs2QkFBTSxJQUFJLFdBQVcsQ0FBQyxPQUFPLEVBQUUsQ0FBQzs0QkFDN0IsSUFBRyxXQUFXLENBQUMsS0FBSyxJQUFHLFNBQVMsSUFBSSxXQUFXLENBQUMsVUFBVSxLQUFLLEdBQUcsRUFBQyxDQUFDO2dDQUNoRSxZQUFZLEdBQUcsV0FBVyxDQUFDLEtBQUssQ0FBQzs0QkFDckMsQ0FBQztpQ0FBSSxDQUFDO2dDQUNKLFlBQVksR0FBRyxXQUFXLENBQUMsT0FBTyxDQUFDOzRCQUNyQyxDQUFDO3dCQUNMLENBQUM7NkJBQU0sSUFBSSxXQUFXLENBQUMsS0FBSyxFQUFFLENBQUM7NEJBQzdCLFlBQVksR0FBRyxXQUFXLENBQUMsS0FBSyxDQUFDO3dCQUNuQyxDQUFDOzZCQUFNLENBQUM7NEJBQ04sWUFBWSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUM7d0JBQzNCLENBQUM7b0JBQ0gsQ0FBQzt5QkFBSSxDQUFDO3dCQUNKLFlBQVksR0FBRyw4QkFBOEIsQ0FBQztvQkFDaEQsQ0FBQztnQkFDSCxDQUFDO2dCQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7b0JBQ1gsNEJBQTRCO29CQUM1QixZQUFZLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQztnQkFDM0IsQ0FBQztZQUNILENBQUM7aUJBQU0sSUFBSSxHQUFHLENBQUMsTUFBTSxLQUFLLEdBQUcsRUFBRSxDQUFDO2dCQUM5QixZQUFZLEdBQUcsdUJBQXVCLENBQUM7WUFDekMsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLDBDQUEwQztnQkFDMUMsWUFBWSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxJQUFJLEdBQUcsQ0FBQyxLQUFLLENBQUM7WUFDaEQsQ0FBQztRQUNILENBQUM7UUFDRCxPQUFPLFVBQVUsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBTUMscUJBQXFCLENBQUMsWUFBWSxFQUFFLGNBQWMsR0FBRyxLQUFLLEVBQUUsS0FBSyxHQUFDLEVBQUU7UUFDbEUsTUFBTSxXQUFXLEdBQUcsY0FBYyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDO1FBQy9ELE9BQU87WUFDTCxLQUFLLEVBQUUscUNBQXFDO1lBQzVDLElBQUksRUFBRSxXQUFXO1lBQ2pCLFNBQVMsRUFBRSxZQUFZO1NBQ3hCLENBQUM7SUFDSixDQUFDO3VHQTlEVSxtQkFBbUI7MkdBQW5CLG1CQUFtQixjQUpsQixNQUFNOzsyRkFJUCxtQkFBbUI7a0JBTC9CLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuXG5cbmV4cG9ydCBjbGFzcyBFcnJvckhhbmRsZXJTZXJ2aWNlIHtcblxuICBjb25zdHJ1Y3RvcigpIHsgfVxuXG5oYW5kbGVFcnJvcihlcnI6IEh0dHBFcnJvclJlc3BvbnNlKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgbGV0IGVycm9yTWVzc2FnZTogc3RyaW5nO1xuXG4gICBpZiAoIWVycikge1xuICAgICAgICByZXR1cm4gdGhyb3dFcnJvcignQW4gdW5leHBlY3RlZCBlcnJvciBvY2N1cnJlZCcpO1xuICAgICAgfVxuXG4gIC8vIENoZWNrIGlmIHRoZSBlcnJvciBpcyBjbGllbnQtc2lkZSBvciBuZXR3b3JrIGVycm9yXG4gIGlmIChlcnIuZXJyb3IgaW5zdGFuY2VvZiBFcnJvckV2ZW50KSB7XG4gICAgZXJyb3JNZXNzYWdlID0gYEFuIGVycm9yIG9jY3VycmVkOiAke2Vyci5lcnJvci5tZXNzYWdlfWA7XG4gIH0gZWxzZSB7XG4gICAgLy8gQ2hlY2sgaWYgdGhlIGVycm9yIGlzIGZyb20gdGhlIHNlcnZlci1zaWRlXG4gICAgaWYgKGVyci5zdGF0dXMgPT09IDQwMCB8fCBlcnIuc3RhdHVzID09PSA0MDQgfHwgZXJyLnN0YXR1cyA9PT0gNTAwKSB7XG4gICAgICB0cnkge1xuICAgICAgICAvLyBBdHRlbXB0IHRvIHBhcnNlIGVycm9yIGFzIEpTT05cbiAgICAgICAgY29uc3QgcGFyc2VkRXJyb3IgPSB0eXBlb2YgZXJyLmVycm9yID09PSAnc3RyaW5nJyA/IEpTT04ucGFyc2UoZXJyLmVycm9yKSA6IGVyci5lcnJvcjtcbiAgICAgICAgaWYocGFyc2VkRXJyb3Ipe1xuICAgICAgICAgIGlmIChwYXJzZWRFcnJvci5zdGF0dXNDb2RlICYmIHBhcnNlZEVycm9yLnN0YXR1c0NvZGUgPT09IDUwMCkge1xuICAgICAgICAgICAgZXJyb3JNZXNzYWdlID0gJ0ludGVybmFsIHNlcnZlciBlcnJvcic7XG4gICAgICAgICAgfSBlbHNlIGlmIChwYXJzZWRFcnJvci5tZXNzYWdlKSB7XG4gICAgICAgICAgICAgIGlmKHBhcnNlZEVycm9yLmVycm9yICE9dW5kZWZpbmVkICYmIHBhcnNlZEVycm9yLnN0YXR1c0NvZGUgPT09IDQwMCl7XG4gICAgICAgICAgICAgICAgICBlcnJvck1lc3NhZ2UgPSBwYXJzZWRFcnJvci5lcnJvcjtcbiAgICAgICAgICAgICAgfWVsc2V7XG4gICAgICAgICAgICAgICAgZXJyb3JNZXNzYWdlID0gcGFyc2VkRXJyb3IubWVzc2FnZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgIH0gZWxzZSBpZiAocGFyc2VkRXJyb3IuZXJyb3IpIHtcbiAgICAgICAgICAgIGVycm9yTWVzc2FnZSA9IHBhcnNlZEVycm9yLmVycm9yO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBlcnJvck1lc3NhZ2UgPSBlcnIuZXJyb3I7XG4gICAgICAgICAgfVxuICAgICAgICB9ZWxzZXtcbiAgICAgICAgICBlcnJvck1lc3NhZ2UgPSAnQW4gdW5leHBlY3RlZCBlcnJvciBvY2N1cnJlZCc7XG4gICAgICAgIH1cbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgLy8gRmFsbGJhY2sgaWYgcGFyc2luZyBmYWlsc1xuICAgICAgICBlcnJvck1lc3NhZ2UgPSBlcnIuZXJyb3I7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChlcnIuc3RhdHVzID09PSA1MDApIHtcbiAgICAgIGVycm9yTWVzc2FnZSA9ICdJbnRlcm5hbCBzZXJ2ZXIgZXJyb3InO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBHZW5lcmFsIGZhbGxiYWNrIGZvciBvdGhlciBzdGF0dXMgY29kZXNcbiAgICAgIGVycm9yTWVzc2FnZSA9IGVyci5lcnJvci5tZXNzYWdlIHx8IGVyci5lcnJvcjtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHRocm93RXJyb3IoZXJyb3JNZXNzYWdlKTtcbn1cblxuXG5cblxuXG4gIGdldFNlcnZlckVycm9yTWVzc2FnZShpc0Vycm9yRXhpc3QsIGlzRGF0YU5vdEV4aXN0ID0gZmFsc2UsIGVycm9yPScnKSB7XG4gICAgY29uc3QgYm9keUNvbnRlbnQgPSBpc0RhdGFOb3RFeGlzdCA/IGVycm9yIDogJ1RyeSBhZ2FpbiBsYXRlcic7XG4gICAgcmV0dXJuIHtcbiAgICAgIHRpdGxlOiBcIlRoZXJlIGlzIGEgcHJvYmxlbSB3aXRoIHRoZSBzZXJ2aWNlXCIsXG4gICAgICBib2R5OiBib2R5Q29udGVudCxcbiAgICAgIHNob3dFcnJvcjogaXNFcnJvckV4aXN0XG4gICAgfTtcbiAgfVxufVxuIl19
|
|
@@ -283,32 +283,40 @@ class ErrorHandlerService {
|
|
|
283
283
|
constructor() { }
|
|
284
284
|
handleError(err) {
|
|
285
285
|
let errorMessage;
|
|
286
|
+
if (!err) {
|
|
287
|
+
return throwError('An unexpected error occurred');
|
|
288
|
+
}
|
|
286
289
|
// Check if the error is client-side or network error
|
|
287
290
|
if (err.error instanceof ErrorEvent) {
|
|
288
291
|
errorMessage = `An error occurred: ${err.error.message}`;
|
|
289
292
|
}
|
|
290
293
|
else {
|
|
291
294
|
// Check if the error is from the server-side
|
|
292
|
-
if (err.status === 400 || err.status === 404) {
|
|
295
|
+
if (err.status === 400 || err.status === 404 || err.status === 500) {
|
|
293
296
|
try {
|
|
294
297
|
// Attempt to parse error as JSON
|
|
295
298
|
const parsedError = typeof err.error === 'string' ? JSON.parse(err.error) : err.error;
|
|
296
|
-
if (parsedError
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
if (parsedError.
|
|
299
|
+
if (parsedError) {
|
|
300
|
+
if (parsedError.statusCode && parsedError.statusCode === 500) {
|
|
301
|
+
errorMessage = 'Internal server error';
|
|
302
|
+
}
|
|
303
|
+
else if (parsedError.message) {
|
|
304
|
+
if (parsedError.error != undefined && parsedError.statusCode === 400) {
|
|
305
|
+
errorMessage = parsedError.error;
|
|
306
|
+
}
|
|
307
|
+
else {
|
|
308
|
+
errorMessage = parsedError.message;
|
|
309
|
+
}
|
|
310
|
+
}
|
|
311
|
+
else if (parsedError.error) {
|
|
301
312
|
errorMessage = parsedError.error;
|
|
302
313
|
}
|
|
303
314
|
else {
|
|
304
|
-
errorMessage =
|
|
315
|
+
errorMessage = err.error;
|
|
305
316
|
}
|
|
306
317
|
}
|
|
307
|
-
else if (parsedError.error) {
|
|
308
|
-
errorMessage = parsedError.error;
|
|
309
|
-
}
|
|
310
318
|
else {
|
|
311
|
-
errorMessage =
|
|
319
|
+
errorMessage = 'An unexpected error occurred';
|
|
312
320
|
}
|
|
313
321
|
}
|
|
314
322
|
catch (e) {
|