@abp/ng.theme.shared 7.4.0-rc.2 → 7.4.0-rc.3
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.
- package/esm2022/lib/components/http-error-wrapper/http-error-wrapper.component.mjs +8 -5
- package/esm2022/lib/handlers/error.handler.mjs +8 -11
- package/esm2022/lib/models/common.mjs +1 -1
- package/esm2022/lib/services/create-error-component.service.mjs +15 -11
- package/esm2022/lib/services/router-error-handler.service.mjs +2 -2
- package/esm2022/lib/services/status-code-error-handler.service.mjs +36 -36
- package/fesm2022/abp-ng.theme.shared.mjs +58 -56
- package/fesm2022/abp-ng.theme.shared.mjs.map +1 -1
- package/lib/components/http-error-wrapper/http-error-wrapper.component.d.ts +7 -4
- package/lib/handlers/error.handler.d.ts +13 -10
- package/lib/models/common.d.ts +2 -2
- package/lib/services/create-error-component.service.d.ts +11 -9
- package/lib/services/router-error-handler.service.d.ts +6 -4
- package/lib/services/status-code-error-handler.service.d.ts +11 -9
- package/package.json +3 -3
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { Component, inject, ElementRef, ViewChild, } from '@angular/core';
|
|
2
|
+
import { DOCUMENT } from '@angular/common';
|
|
3
3
|
import { fromEvent } from 'rxjs';
|
|
4
4
|
import { debounceTime, filter } from 'rxjs/operators';
|
|
5
|
+
import { SubscriptionService } from '@abp/ng.core';
|
|
5
6
|
import * as i0 from "@angular/core";
|
|
6
7
|
import * as i1 from "@abp/ng.core";
|
|
7
8
|
import * as i2 from "@angular/common";
|
|
@@ -12,6 +13,8 @@ class HttpErrorWrapperComponent {
|
|
|
12
13
|
}
|
|
13
14
|
constructor(subscription) {
|
|
14
15
|
this.subscription = subscription;
|
|
16
|
+
this.document = inject(DOCUMENT);
|
|
17
|
+
this.window = this.document.defaultView;
|
|
15
18
|
this.status = 0;
|
|
16
19
|
this.title = 'Oops!';
|
|
17
20
|
this.details = 'Sorry, an error has occured.';
|
|
@@ -21,7 +24,7 @@ class HttpErrorWrapperComponent {
|
|
|
21
24
|
}
|
|
22
25
|
ngOnInit() {
|
|
23
26
|
this.backgroundColor =
|
|
24
|
-
window.getComputedStyle(document.body)?.getPropertyValue('background-color') || '#fff';
|
|
27
|
+
this.window.getComputedStyle(this.document.body)?.getPropertyValue('background-color') || '#fff';
|
|
25
28
|
}
|
|
26
29
|
ngAfterViewInit() {
|
|
27
30
|
if (this.customComponent) {
|
|
@@ -36,7 +39,7 @@ class HttpErrorWrapperComponent {
|
|
|
36
39
|
}
|
|
37
40
|
customComponentRef.changeDetectorRef.detectChanges();
|
|
38
41
|
}
|
|
39
|
-
const keyup$ = fromEvent(document, 'keyup').pipe(debounceTime(150), filter((key) => key && key.key === 'Escape'));
|
|
42
|
+
const keyup$ = fromEvent(this.document, 'keyup').pipe(debounceTime(150), filter((key) => key && key.key === 'Escape'));
|
|
40
43
|
this.subscription.addOne(keyup$, () => this.destroy());
|
|
41
44
|
}
|
|
42
45
|
ngOnDestroy() {
|
|
@@ -57,4 +60,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.6", ngImpor
|
|
|
57
60
|
type: ViewChild,
|
|
58
61
|
args: ['container', { static: false }]
|
|
59
62
|
}] } });
|
|
60
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1lcnJvci13cmFwcGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3RoZW1lLXNoYXJlZC9zcmMvbGliL2NvbXBvbmVudHMvaHR0cC1lcnJvci13cmFwcGVyL2h0dHAtZXJyb3Itd3JhcHBlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy90aGVtZS1zaGFyZWQvc3JjL2xpYi9jb21wb25lbnRzL2h0dHAtZXJyb3Itd3JhcHBlci9odHRwLWVycm9yLXdyYXBwZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFFVCxNQUFNLEVBR04sVUFBVSxFQUdWLFNBQVMsR0FHVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFFLFNBQVMsRUFBVyxNQUFNLE1BQU0sQ0FBQztBQUMxQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RELE9BQU8sRUFBcUIsbUJBQW1CLEVBQUUsTUFBTSxjQUFjLENBQUM7Ozs7O0FBR3RFLE1BTWEseUJBQXlCO0lBNkJwQyxJQUFJLFVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDL0MsQ0FBQztJQUVELFlBQW9CLFlBQWlDO1FBQWpDLGlCQUFZLEdBQVosWUFBWSxDQUFxQjtRQWhDbEMsYUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM1QixXQUFNLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUM7UUFRdEQsV0FBTSxHQUEwQixDQUFDLENBQUM7UUFFbEMsVUFBSyxHQUFzQixPQUFPLENBQUM7UUFFbkMsWUFBTyxHQUFzQiw4QkFBOEIsQ0FBQztRQUU1RCxvQkFBZSxHQUEwQixTQUFTLENBQUM7UUFJbkQsa0JBQWEsR0FBRyxLQUFLLENBQUM7UUFJdEIsZUFBVSxHQUFHLElBQUksQ0FBQztJQVNzQyxDQUFDO0lBRXpELFFBQVE7UUFDTixJQUFJLENBQUMsZUFBZTtZQUNsQixJQUFJLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsZ0JBQWdCLENBQUMsa0JBQWtCLENBQUMsSUFBSSxNQUFNLENBQUM7SUFDckcsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUU7WUFDeEIsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLENBQUMsS0FBSztpQkFDbEMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQztpQkFDN0MsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUN6QixrQkFBa0IsQ0FBQyxRQUFRLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7WUFDdEQsa0JBQWtCLENBQUMsUUFBUSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO1lBQ3JELElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3BELElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtnQkFDckIsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUN4QyxrQkFBa0IsQ0FBQyxRQUFpQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FDbkUsQ0FBQzthQUNIO1lBQ0Qsa0JBQWtCLENBQUMsaUJBQWlCLENBQUMsYUFBYSxFQUFFLENBQUM7U0FDdEQ7UUFFRCxNQUFNLE1BQU0sR0FBRyxTQUFTLENBQWdCLElBQUksQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUNsRSxZQUFZLENBQUMsR0FBRyxDQUFDLEVBQ2pCLE1BQU0sQ0FBQyxDQUFDLEdBQWtCLEVBQUUsRUFBRSxDQUFDLEdBQUcsSUFBSSxHQUFHLENBQUMsR0FBRyxLQUFLLFFBQVEsQ0FBQyxDQUM1RCxDQUFDO1FBQ0YsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ2pCLENBQUM7SUFFRCxPQUFPO1FBQ0wsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzNCLENBQUM7OEdBdEVVLHlCQUF5QjtrR0FBekIseUJBQXlCLGlEQUZ6QixDQUFDLG1CQUFtQixDQUFDLHFJQ3hCbEMsbWpDQW1DQTs7U0RUYSx5QkFBeUI7MkZBQXpCLHlCQUF5QjtrQkFOckMsU0FBUzsrQkFDRSx3QkFBd0IsYUFHdkIsQ0FBQyxtQkFBbUIsQ0FBQzswR0E2QmhDLFlBQVk7c0JBRFgsU0FBUzt1QkFBQyxXQUFXLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBBcHBsaWNhdGlvblJlZixcclxuICBDb21wb25lbnQsXHJcbiAgSW5qZWN0b3IsXHJcbiAgaW5qZWN0LFxyXG4gIE9uSW5pdCxcclxuICBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXHJcbiAgRWxlbWVudFJlZixcclxuICBFbWJlZGRlZFZpZXdSZWYsXHJcbiAgVHlwZSxcclxuICBWaWV3Q2hpbGQsXHJcbiAgQWZ0ZXJWaWV3SW5pdCxcclxuICBPbkRlc3Ryb3ksXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgZnJvbUV2ZW50LCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgZmlsdGVyIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBMb2NhbGl6YXRpb25QYXJhbSwgU3Vic2NyaXB0aW9uU2VydmljZSB9IGZyb20gJ0BhYnAvbmcuY29yZSc7XHJcbmltcG9ydCB7IEVycm9yU2NyZWVuRXJyb3JDb2RlcyB9IGZyb20gJy4uLy4uL21vZGVscyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FicC1odHRwLWVycm9yLXdyYXBwZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9odHRwLWVycm9yLXdyYXBwZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWydodHRwLWVycm9yLXdyYXBwZXIuY29tcG9uZW50LnNjc3MnXSxcclxuICBwcm92aWRlcnM6IFtTdWJzY3JpcHRpb25TZXJ2aWNlXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEh0dHBFcnJvcldyYXBwZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XHJcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGRvY3VtZW50ID0gaW5qZWN0KERPQ1VNRU5UKTtcclxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgd2luZG93ID0gdGhpcy5kb2N1bWVudC5kZWZhdWx0VmlldztcclxuXHJcbiAgYXBwUmVmITogQXBwbGljYXRpb25SZWY7XHJcblxyXG4gIGNmUmVzITogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyO1xyXG5cclxuICBpbmplY3RvciE6IEluamVjdG9yO1xyXG5cclxuICBzdGF0dXM6IEVycm9yU2NyZWVuRXJyb3JDb2RlcyA9IDA7XHJcblxyXG4gIHRpdGxlOiBMb2NhbGl6YXRpb25QYXJhbSA9ICdPb3BzISc7XHJcblxyXG4gIGRldGFpbHM6IExvY2FsaXphdGlvblBhcmFtID0gJ1NvcnJ5LCBhbiBlcnJvciBoYXMgb2NjdXJlZC4nO1xyXG5cclxuICBjdXN0b21Db21wb25lbnQ6IFR5cGU8YW55PiB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcclxuXHJcbiAgZGVzdHJveSQhOiBTdWJqZWN0PHZvaWQ+O1xyXG5cclxuICBoaWRlQ2xvc2VJY29uID0gZmFsc2U7XHJcblxyXG4gIGJhY2tncm91bmRDb2xvciE6IHN0cmluZztcclxuXHJcbiAgaXNIb21lU2hvdyA9IHRydWU7XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ2NvbnRhaW5lcicsIHsgc3RhdGljOiBmYWxzZSB9KVxyXG4gIGNvbnRhaW5lclJlZj86IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xyXG5cclxuICBnZXQgc3RhdHVzVGV4dCgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuc3RhdHVzID8gYFske3RoaXMuc3RhdHVzfV1gIDogJyc7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uU2VydmljZSkge31cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmJhY2tncm91bmRDb2xvciA9XHJcbiAgICAgIHRoaXMud2luZG93LmdldENvbXB1dGVkU3R5bGUodGhpcy5kb2N1bWVudC5ib2R5KT8uZ2V0UHJvcGVydHlWYWx1ZSgnYmFja2dyb3VuZC1jb2xvcicpIHx8ICcjZmZmJztcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmN1c3RvbUNvbXBvbmVudCkge1xyXG4gICAgICBjb25zdCBjdXN0b21Db21wb25lbnRSZWYgPSB0aGlzLmNmUmVzXHJcbiAgICAgICAgLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KHRoaXMuY3VzdG9tQ29tcG9uZW50KVxyXG4gICAgICAgIC5jcmVhdGUodGhpcy5pbmplY3Rvcik7XHJcbiAgICAgIGN1c3RvbUNvbXBvbmVudFJlZi5pbnN0YW5jZS5lcnJvclN0YXR1cyA9IHRoaXMuc3RhdHVzO1xyXG4gICAgICBjdXN0b21Db21wb25lbnRSZWYuaW5zdGFuY2UuZGVzdHJveSQgPSB0aGlzLmRlc3Ryb3kkO1xyXG4gICAgICB0aGlzLmFwcFJlZi5hdHRhY2hWaWV3KGN1c3RvbUNvbXBvbmVudFJlZi5ob3N0Vmlldyk7XHJcbiAgICAgIGlmICh0aGlzLmNvbnRhaW5lclJlZikge1xyXG4gICAgICAgIHRoaXMuY29udGFpbmVyUmVmLm5hdGl2ZUVsZW1lbnQuYXBwZW5kQ2hpbGQoXHJcbiAgICAgICAgICAoY3VzdG9tQ29tcG9uZW50UmVmLmhvc3RWaWV3IGFzIEVtYmVkZGVkVmlld1JlZjxhbnk+KS5yb290Tm9kZXNbMF0sXHJcbiAgICAgICAgKTtcclxuICAgICAgfVxyXG4gICAgICBjdXN0b21Db21wb25lbnRSZWYuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGtleXVwJCA9IGZyb21FdmVudDxLZXlib2FyZEV2ZW50Pih0aGlzLmRvY3VtZW50LCAna2V5dXAnKS5waXBlKFxyXG4gICAgICBkZWJvdW5jZVRpbWUoMTUwKSxcclxuICAgICAgZmlsdGVyKChrZXk6IEtleWJvYXJkRXZlbnQpID0+IGtleSAmJiBrZXkua2V5ID09PSAnRXNjYXBlJyksXHJcbiAgICApO1xyXG4gICAgdGhpcy5zdWJzY3JpcHRpb24uYWRkT25lKGtleXVwJCwgKCkgPT4gdGhpcy5kZXN0cm95KCkpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLmRlc3Ryb3koKTtcclxuICB9XHJcblxyXG4gIGRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcclxuICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdlxyXG4gICNjb250YWluZXJcclxuICBpZD1cImFicC1odHRwLWVycm9yLWNvbnRhaW5lclwiXHJcbiAgY2xhc3M9XCJlcnJvclwiXHJcbiAgW3N0eWxlLmJhY2tncm91bmRDb2xvcl09XCJiYWNrZ3JvdW5kQ29sb3JcIlxyXG4+XHJcbiAgPGJ1dHRvblxyXG4gICAgKm5nSWY9XCIhaGlkZUNsb3NlSWNvblwiXHJcbiAgICBpZD1cImFicC1jbG9zZS1idXR0b25cIlxyXG4gICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICBjbGFzcz1cImJ0bi1jbG9zZSBtZS0yXCJcclxuICAgIChjbGljayk9XCJkZXN0cm95KClcIlxyXG4gID48L2J1dHRvbj5cclxuXHJcbiAgPGRpdiAqbmdJZj1cIiFjdXN0b21Db21wb25lbnRcIiBjbGFzcz1cInJvdyBjZW50ZXJlZFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMlwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZXJyb3ItdGVtcGxhdGVcIj5cclxuICAgICAgICA8aDE+e3sgc3RhdHVzVGV4dCB9fSB7eyB0aXRsZSB8IGFicExvY2FsaXphdGlvbiB9fTwvaDE+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImVycm9yLWRldGFpbHNcIj5cclxuICAgICAgICAgIHt7IGRldGFpbHMgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZXJyb3ItYWN0aW9uc1wiPlxyXG4gICAgICAgICAgPGFcclxuICAgICAgICAgICAgKm5nSWY9XCJpc0hvbWVTaG93XCJcclxuICAgICAgICAgICAgKGNsaWNrKT1cImRlc3Ryb3koKVwiXHJcbiAgICAgICAgICAgIHJvdXRlckxpbms9XCIvXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgYnRuLW1kIG10LTJcIlxyXG4gICAgICAgICAgICA+PHNwYW4gY2xhc3M9XCJnbHlwaGljb24gZ2x5cGhpY29uLWhvbWVcIj48L3NwYW4+XHJcbiAgICAgICAgICAgIHt7IHsga2V5OiAnOjpNZW51OkhvbWUnLCBkZWZhdWx0VmFsdWU6ICdIb21lJyB9IHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICA8L2E+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { HttpErrorReporterService } from '@abp/ng.core';
|
|
2
1
|
import { inject, Injectable, Injector } from '@angular/core';
|
|
3
2
|
import { Observable, of, throwError } from 'rxjs';
|
|
4
3
|
import { catchError, filter, switchMap } from 'rxjs/operators';
|
|
5
|
-
import {
|
|
4
|
+
import { HttpErrorReporterService } from '@abp/ng.core';
|
|
6
5
|
import { CUSTOM_ERROR_HANDLERS, HTTP_ERROR_HANDLER } from '../tokens/http-error.token';
|
|
6
|
+
import { HTTP_ERROR_CONFIG } from '../tokens/http-error.token';
|
|
7
7
|
import { DEFAULT_ERROR_LOCALIZATIONS, DEFAULT_ERROR_MESSAGES } from '../constants/default-errors';
|
|
8
|
+
import { ConfirmationService } from '../services/confirmation.service';
|
|
8
9
|
import { RouterErrorHandlerService } from '../services/router-error-handler.service';
|
|
9
|
-
import { HTTP_ERROR_CONFIG } from '../tokens/http-error.token';
|
|
10
10
|
import * as i0 from "@angular/core";
|
|
11
11
|
class ErrorHandler {
|
|
12
12
|
constructor(injector) {
|
|
@@ -21,8 +21,7 @@ class ErrorHandler {
|
|
|
21
21
|
this.executeErrorHandler = (error) => {
|
|
22
22
|
const errHandler = this.httpErrorHandler(this.injector, error);
|
|
23
23
|
const isObservable = errHandler instanceof Observable;
|
|
24
|
-
|
|
25
|
-
return response.pipe(catchError(err => {
|
|
24
|
+
return (isObservable ? errHandler : of(null)).pipe(catchError(err => {
|
|
26
25
|
this.handleError(err);
|
|
27
26
|
return of(null);
|
|
28
27
|
}));
|
|
@@ -30,10 +29,10 @@ class ErrorHandler {
|
|
|
30
29
|
this.filterRestErrors = ({ status }) => {
|
|
31
30
|
if (typeof status !== 'number')
|
|
32
31
|
return false;
|
|
33
|
-
if (!this.httpErrorConfig.skipHandledErrorCodes) {
|
|
32
|
+
if (!this.httpErrorConfig || !this.httpErrorConfig.skipHandledErrorCodes) {
|
|
34
33
|
return true;
|
|
35
34
|
}
|
|
36
|
-
return this.httpErrorConfig.skipHandledErrorCodes
|
|
35
|
+
return this.httpErrorConfig.skipHandledErrorCodes?.findIndex(code => code === status) < 0;
|
|
37
36
|
};
|
|
38
37
|
this.listenToRestError();
|
|
39
38
|
this.listenToRouterError();
|
|
@@ -44,9 +43,7 @@ class ErrorHandler {
|
|
|
44
43
|
listenToRestError() {
|
|
45
44
|
this.httpErrorReporter.reporter$
|
|
46
45
|
.pipe(filter(this.filterRestErrors), switchMap(this.executeErrorHandler))
|
|
47
|
-
.subscribe(err =>
|
|
48
|
-
this.handleError(err);
|
|
49
|
-
});
|
|
46
|
+
.subscribe(err => this.handleError(err));
|
|
50
47
|
}
|
|
51
48
|
sortHttpErrorHandlers(a, b) {
|
|
52
49
|
return (b.priority || 0) - (a.priority || 0);
|
|
@@ -85,4 +82,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.6", ngImpor
|
|
|
85
82
|
type: Injectable,
|
|
86
83
|
args: [{ providedIn: 'root' }]
|
|
87
84
|
}], ctorParameters: function () { return [{ type: i0.Injector }]; } });
|
|
88
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
85
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3IuaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3RoZW1lLXNoYXJlZC9zcmMvbGliL2hhbmRsZXJzL2Vycm9yLmhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTdELE9BQU8sRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNsRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUvRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFLeEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdkYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLDJCQUEyQixFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFbEcsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDdkUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sMENBQTBDLENBQUM7O0FBRXJGLE1BQ2EsWUFBWTtJQVV2QixZQUFzQixRQUFrQjtRQUFsQixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBVHJCLHNCQUFpQixHQUFHLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO1FBQ3JELHdCQUFtQixHQUFHLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQ2xELDhCQUF5QixHQUFHLE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO1FBQzlELG9CQUFlLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDNUMsd0JBQW1CLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFDcEQsNEJBQXVCLEdBQUcsQ0FBQyxDQUFDLEVBQUUsR0FBc0IsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQy9FLHFCQUFnQixHQUNqQyxNQUFNLENBQUMsa0JBQWtCLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsSUFBSSxJQUFJLENBQUMsdUJBQXVCLENBQUM7UUFpQnZFLHdCQUFtQixHQUFHLENBQUMsS0FBd0IsRUFBRSxFQUFFO1lBQzNELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQy9ELE1BQU0sWUFBWSxHQUFHLFVBQVUsWUFBWSxVQUFVLENBQUM7WUFFdEQsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQ2hELFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRTtnQkFDZixJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUN0QixPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNsQixDQUFDLENBQUMsQ0FDSCxDQUFDO1FBQ0osQ0FBQyxDQUFDO1FBdUNRLHFCQUFnQixHQUFHLENBQUMsRUFBRSxNQUFNLEVBQXFCLEVBQVcsRUFBRTtZQUN0RSxJQUFJLE9BQU8sTUFBTSxLQUFLLFFBQVE7Z0JBQUUsT0FBTyxLQUFLLENBQUM7WUFFN0MsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLHFCQUFxQixFQUFFO2dCQUN4RSxPQUFPLElBQUksQ0FBQzthQUNiO1lBRUQsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLHFCQUFxQixFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksS0FBSyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDNUYsQ0FBQyxDQUFDO1FBdkVBLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFUyxtQkFBbUI7UUFDM0IsSUFBSSxDQUFDLHlCQUF5QixDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQzFDLENBQUM7SUFFUyxpQkFBaUI7UUFDekIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFNBQVM7YUFDN0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUM7YUFDeEUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFjUyxxQkFBcUIsQ0FDN0IsQ0FBZ0MsRUFDaEMsQ0FBZ0M7UUFFaEMsT0FBTyxDQUFDLENBQUMsQ0FBQyxRQUFRLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsUUFBUSxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFUyxXQUFXLENBQUMsR0FBWTtRQUNoQyxJQUFJLElBQUksQ0FBQyxtQkFBbUIsSUFBSSxJQUFJLENBQUMsbUJBQW1CLENBQUMsTUFBTSxFQUFFO1lBQy9ELE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLG1CQUFtQjtpQkFDOUMsSUFBSSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQztpQkFDaEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBRTNDLElBQUksZ0JBQWdCLEVBQUU7Z0JBQ3BCLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUMzQixPQUFPO2FBQ1I7U0FDRjtRQUVELElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBRVMsU0FBUztRQUNqQixNQUFNLEtBQUssR0FBRztZQUNaLEdBQUcsRUFBRSwyQkFBMkIsQ0FBQyxZQUFZLENBQUMsS0FBSztZQUNuRCxZQUFZLEVBQUUsc0JBQXNCLENBQUMsWUFBWSxDQUFDLEtBQUs7U0FDeEQsQ0FBQztRQUNGLE1BQU0sT0FBTyxHQUFHO1lBQ2QsR0FBRyxFQUFFLDJCQUEyQixDQUFDLFlBQVksQ0FBQyxPQUFPO1lBQ3JELFlBQVksRUFBRSxzQkFBc0IsQ0FBQyxZQUFZLENBQUMsT0FBTztTQUMxRCxDQUFDO1FBQ0YsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUU7WUFDcEQsYUFBYSxFQUFFLElBQUk7WUFDbkIsT0FBTyxFQUFFLG1CQUFtQjtTQUM3QixDQUFDLENBQUM7SUFDTCxDQUFDOzhHQXhFVSxZQUFZO2tIQUFaLFlBQVksY0FEQyxNQUFNOztTQUNuQixZQUFZOzJGQUFaLFlBQVk7a0JBRHhCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBIdHRwRXJyb3JSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YsIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgY2F0Y2hFcnJvciwgZmlsdGVyLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5pbXBvcnQgeyBIdHRwRXJyb3JSZXBvcnRlclNlcnZpY2UgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xyXG5cclxuaW1wb3J0IHsgQ3VzdG9tSHR0cEVycm9ySGFuZGxlclNlcnZpY2UgfSBmcm9tICcuLi9tb2RlbHMvY29tbW9uJztcclxuaW1wb3J0IHsgQ29uZmlybWF0aW9uIH0gZnJvbSAnLi4vbW9kZWxzL2NvbmZpcm1hdGlvbic7XHJcblxyXG5pbXBvcnQgeyBDVVNUT01fRVJST1JfSEFORExFUlMsIEhUVFBfRVJST1JfSEFORExFUiB9IGZyb20gJy4uL3Rva2Vucy9odHRwLWVycm9yLnRva2VuJztcclxuaW1wb3J0IHsgSFRUUF9FUlJPUl9DT05GSUcgfSBmcm9tICcuLi90b2tlbnMvaHR0cC1lcnJvci50b2tlbic7XHJcbmltcG9ydCB7IERFRkFVTFRfRVJST1JfTE9DQUxJWkFUSU9OUywgREVGQVVMVF9FUlJPUl9NRVNTQUdFUyB9IGZyb20gJy4uL2NvbnN0YW50cy9kZWZhdWx0LWVycm9ycyc7XHJcblxyXG5pbXBvcnQgeyBDb25maXJtYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvY29uZmlybWF0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBSb3V0ZXJFcnJvckhhbmRsZXJTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvcm91dGVyLWVycm9yLWhhbmRsZXIuc2VydmljZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxyXG5leHBvcnQgY2xhc3MgRXJyb3JIYW5kbGVyIHtcclxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgaHR0cEVycm9yUmVwb3J0ZXIgPSBpbmplY3QoSHR0cEVycm9yUmVwb3J0ZXJTZXJ2aWNlKTtcclxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgY29uZmlybWF0aW9uU2VydmljZSA9IGluamVjdChDb25maXJtYXRpb25TZXJ2aWNlKTtcclxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgcm91dGVyRXJyb3JIYW5kbGVyU2VydmljZSA9IGluamVjdChSb3V0ZXJFcnJvckhhbmRsZXJTZXJ2aWNlKTtcclxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgaHR0cEVycm9yQ29uZmlnID0gaW5qZWN0KEhUVFBfRVJST1JfQ09ORklHKTtcclxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgY3VzdG9tRXJyb3JIYW5kbGVycyA9IGluamVjdChDVVNUT01fRVJST1JfSEFORExFUlMpO1xyXG4gIHByb3RlY3RlZCByZWFkb25seSBkZWZhdWx0SHR0cEVycm9ySGFuZGxlciA9IChfLCBlcnI6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiB0aHJvd0Vycm9yKCgpID0+IGVycik7XHJcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGh0dHBFcnJvckhhbmRsZXIgPVxyXG4gICAgaW5qZWN0KEhUVFBfRVJST1JfSEFORExFUiwgeyBvcHRpb25hbDogdHJ1ZSB9KSB8fCB0aGlzLmRlZmF1bHRIdHRwRXJyb3JIYW5kbGVyO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgaW5qZWN0b3I6IEluamVjdG9yKSB7XHJcbiAgICB0aGlzLmxpc3RlblRvUmVzdEVycm9yKCk7XHJcbiAgICB0aGlzLmxpc3RlblRvUm91dGVyRXJyb3IoKTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBsaXN0ZW5Ub1JvdXRlckVycm9yKCkge1xyXG4gICAgdGhpcy5yb3V0ZXJFcnJvckhhbmRsZXJTZXJ2aWNlLmxpc3RlbigpO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGxpc3RlblRvUmVzdEVycm9yKCkge1xyXG4gICAgdGhpcy5odHRwRXJyb3JSZXBvcnRlci5yZXBvcnRlciRcclxuICAgICAgLnBpcGUoZmlsdGVyKHRoaXMuZmlsdGVyUmVzdEVycm9ycyksIHN3aXRjaE1hcCh0aGlzLmV4ZWN1dGVFcnJvckhhbmRsZXIpKVxyXG4gICAgICAuc3Vic2NyaWJlKGVyciA9PiB0aGlzLmhhbmRsZUVycm9yKGVycikpO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGV4ZWN1dGVFcnJvckhhbmRsZXIgPSAoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiB7XHJcbiAgICBjb25zdCBlcnJIYW5kbGVyID0gdGhpcy5odHRwRXJyb3JIYW5kbGVyKHRoaXMuaW5qZWN0b3IsIGVycm9yKTtcclxuICAgIGNvbnN0IGlzT2JzZXJ2YWJsZSA9IGVyckhhbmRsZXIgaW5zdGFuY2VvZiBPYnNlcnZhYmxlO1xyXG5cclxuICAgIHJldHVybiAoaXNPYnNlcnZhYmxlID8gZXJySGFuZGxlciA6IG9mKG51bGwpKS5waXBlKFxyXG4gICAgICBjYXRjaEVycm9yKGVyciA9PiB7XHJcbiAgICAgICAgdGhpcy5oYW5kbGVFcnJvcihlcnIpO1xyXG4gICAgICAgIHJldHVybiBvZihudWxsKTtcclxuICAgICAgfSksXHJcbiAgICApO1xyXG4gIH07XHJcblxyXG4gIHByb3RlY3RlZCBzb3J0SHR0cEVycm9ySGFuZGxlcnMoXHJcbiAgICBhOiBDdXN0b21IdHRwRXJyb3JIYW5kbGVyU2VydmljZSxcclxuICAgIGI6IEN1c3RvbUh0dHBFcnJvckhhbmRsZXJTZXJ2aWNlLFxyXG4gICkge1xyXG4gICAgcmV0dXJuIChiLnByaW9yaXR5IHx8IDApIC0gKGEucHJpb3JpdHkgfHwgMCk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgaGFuZGxlRXJyb3IoZXJyOiB1bmtub3duKSB7XHJcbiAgICBpZiAodGhpcy5jdXN0b21FcnJvckhhbmRsZXJzICYmIHRoaXMuY3VzdG9tRXJyb3JIYW5kbGVycy5sZW5ndGgpIHtcclxuICAgICAgY29uc3QgY2FuSGFuZGxlU2VydmljZSA9IHRoaXMuY3VzdG9tRXJyb3JIYW5kbGVyc1xyXG4gICAgICAgIC5zb3J0KHRoaXMuc29ydEh0dHBFcnJvckhhbmRsZXJzKVxyXG4gICAgICAgIC5maW5kKHNlcnZpY2UgPT4gc2VydmljZS5jYW5IYW5kbGUoZXJyKSk7XHJcblxyXG4gICAgICBpZiAoY2FuSGFuZGxlU2VydmljZSkge1xyXG4gICAgICAgIGNhbkhhbmRsZVNlcnZpY2UuZXhlY3V0ZSgpO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuc2hvd0Vycm9yKCkuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgc2hvd0Vycm9yKCk6IE9ic2VydmFibGU8Q29uZmlybWF0aW9uLlN0YXR1cz4ge1xyXG4gICAgY29uc3QgdGl0bGUgPSB7XHJcbiAgICAgIGtleTogREVGQVVMVF9FUlJPUl9MT0NBTElaQVRJT05TLmRlZmF1bHRFcnJvci50aXRsZSxcclxuICAgICAgZGVmYXVsdFZhbHVlOiBERUZBVUxUX0VSUk9SX01FU1NBR0VTLmRlZmF1bHRFcnJvci50aXRsZSxcclxuICAgIH07XHJcbiAgICBjb25zdCBtZXNzYWdlID0ge1xyXG4gICAgICBrZXk6IERFRkFVTFRfRVJST1JfTE9DQUxJWkFUSU9OUy5kZWZhdWx0RXJyb3IuZGV0YWlscyxcclxuICAgICAgZGVmYXVsdFZhbHVlOiBERUZBVUxUX0VSUk9SX01FU1NBR0VTLmRlZmF1bHRFcnJvci5kZXRhaWxzLFxyXG4gICAgfTtcclxuICAgIHJldHVybiB0aGlzLmNvbmZpcm1hdGlvblNlcnZpY2UuZXJyb3IobWVzc2FnZSwgdGl0bGUsIHtcclxuICAgICAgaGlkZUNhbmNlbEJ0bjogdHJ1ZSxcclxuICAgICAgeWVzVGV4dDogJ0FicEFjY291bnQ6OkNsb3NlJyxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGZpbHRlclJlc3RFcnJvcnMgPSAoeyBzdGF0dXMgfTogSHR0cEVycm9yUmVzcG9uc2UpOiBib29sZWFuID0+IHtcclxuICAgIGlmICh0eXBlb2Ygc3RhdHVzICE9PSAnbnVtYmVyJykgcmV0dXJuIGZhbHNlO1xyXG5cclxuICAgIGlmICghdGhpcy5odHRwRXJyb3JDb25maWcgfHwgIXRoaXMuaHR0cEVycm9yQ29uZmlnLnNraXBIYW5kbGVkRXJyb3JDb2Rlcykge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdGhpcy5odHRwRXJyb3JDb25maWcuc2tpcEhhbmRsZWRFcnJvckNvZGVzPy5maW5kSW5kZXgoY29kZSA9PiBjb2RlID09PSBzdGF0dXMpIDwgMDtcclxuICB9O1xyXG59XHJcbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvdGhlbWUtc2hhcmVkL3NyYy9saWIvbW9kZWxzL2NvbW1vbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVmFsaWRhdGlvbiB9IGZyb20gJ0BuZ3gtdmFsaWRhdGUvY29yZSc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQ29uZmlybWF0aW9uSWNvbnMgfSBmcm9tICcuLi90b2tlbnMvY29uZmlybWF0aW9uLWljb25zLnRva2VuJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgUm9vdFBhcmFtcyB7XHJcbiAgaHR0cEVycm9yQ29uZmlnPzogSHR0cEVycm9yQ29uZmlnO1xyXG4gIHZhbGlkYXRpb24/OiBQYXJ0aWFsPFZhbGlkYXRpb24uQ29uZmlnPjtcclxuICBjb25maXJtYXRpb25JY29ucz86IFBhcnRpYWw8Q29uZmlybWF0aW9uSWNvbnM+O1xyXG59XHJcblxyXG5leHBvcnQgdHlwZSBFcnJvclNjcmVlbkVycm9yQ29kZXMgPSAwIHwgNDAxIHwgNDAzIHwgNDA0IHwgNTAwO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBIdHRwRXJyb3JDb25maWcge1xyXG4gIHNraXBIYW5kbGVkRXJyb3JDb2Rlcz86IEVycm9yU2NyZWVuRXJyb3JDb2Rlc1tdIHwgbnVtYmVyW107XHJcbiAgZXJyb3JTY3JlZW4/OiB7XHJcbiAgICBjb21wb25lbnQ6IFR5cGU8YW55PjtcclxuICAgIGZvcldoaWNoRXJyb3JzPzogRXJyb3JTY3JlZW5FcnJvckNvZGVzW107XHJcbiAgICBoaWRlQ2xvc2VJY29uPzogYm9vbGVhbjtcclxuICB9O1xyXG59XHJcbmV4cG9ydCB0eXBlIEh0dHBFcnJvckhhbmRsZXI8VCA9IGFueT4gPSAoaHR0cEVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gT2JzZXJ2YWJsZTxUPjtcclxuZXhwb3J0IHR5cGUgTG9jYWxlRGlyZWN0aW9uID0gJ2x0cicgfCAncnRsJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ3VzdG9tSHR0cEVycm9ySGFuZGxlclNlcnZpY2Uge1xyXG4gIHJlYWRvbmx5IHByaW9yaXR5OiBudW1iZXI7XHJcbiAgY2FuSGFuZGxlKGVycm9yOiB1bmtub3duKTogYm9vbGVhbjtcclxuICBleGVjdXRlKCk6IHZvaWQ7XHJcbn1cclxuIl19
|
|
@@ -1,21 +1,15 @@
|
|
|
1
1
|
import { ApplicationRef, ComponentFactoryResolver, inject, Injectable, Injector, RendererFactory2, } from '@angular/core';
|
|
2
|
-
import {
|
|
2
|
+
import { DOCUMENT } from '@angular/common';
|
|
3
3
|
import { ResolveEnd } from '@angular/router';
|
|
4
|
+
import { Subject } from 'rxjs';
|
|
4
5
|
import { filter } from 'rxjs/operators';
|
|
5
6
|
import { RouterEvents } from '@abp/ng.core';
|
|
6
7
|
import { HTTP_ERROR_CONFIG } from '../tokens/http-error.token';
|
|
7
8
|
import { HttpErrorWrapperComponent } from '../components/http-error-wrapper/http-error-wrapper.component';
|
|
8
9
|
import * as i0 from "@angular/core";
|
|
9
10
|
class CreateErrorComponentService {
|
|
10
|
-
getErrorHostElement() {
|
|
11
|
-
return document.body;
|
|
12
|
-
}
|
|
13
|
-
canCreateCustomError(status) {
|
|
14
|
-
return !!(this.httpErrorConfig?.errorScreen?.component &&
|
|
15
|
-
this.httpErrorConfig?.errorScreen?.forWhichErrors &&
|
|
16
|
-
this.httpErrorConfig?.errorScreen?.forWhichErrors.indexOf(status) > -1);
|
|
17
|
-
}
|
|
18
11
|
constructor() {
|
|
12
|
+
this.document = inject(DOCUMENT);
|
|
19
13
|
this.rendererFactory = inject(RendererFactory2);
|
|
20
14
|
this.cfRes = inject(ComponentFactoryResolver);
|
|
21
15
|
this.routerEvents = inject(RouterEvents);
|
|
@@ -33,8 +27,18 @@ class CreateErrorComponentService {
|
|
|
33
27
|
this.componentRef = null;
|
|
34
28
|
});
|
|
35
29
|
}
|
|
30
|
+
getErrorHostElement() {
|
|
31
|
+
return this.document.body;
|
|
32
|
+
}
|
|
36
33
|
isCloseIconHidden() {
|
|
37
|
-
return !!this.httpErrorConfig
|
|
34
|
+
return !!this.httpErrorConfig?.errorScreen?.hideCloseIcon;
|
|
35
|
+
}
|
|
36
|
+
canCreateCustomError(status) {
|
|
37
|
+
const { component, forWhichErrors } = this.httpErrorConfig?.errorScreen || {};
|
|
38
|
+
if (!component || !forWhichErrors) {
|
|
39
|
+
return false;
|
|
40
|
+
}
|
|
41
|
+
return forWhichErrors.indexOf(status) > -1;
|
|
38
42
|
}
|
|
39
43
|
execute(instance) {
|
|
40
44
|
const renderer = this.rendererFactory.createRenderer(null, null);
|
|
@@ -74,4 +78,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.6", ngImpor
|
|
|
74
78
|
type: Injectable,
|
|
75
79
|
args: [{ providedIn: 'root' }]
|
|
76
80
|
}], ctorParameters: function () { return []; } });
|
|
77
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
81
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWVycm9yLWNvbXBvbmVudC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvdGhlbWUtc2hhcmVkL3NyYy9saWIvc2VydmljZXMvY3JlYXRlLWVycm9yLWNvbXBvbmVudC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxjQUFjLEVBQ2Qsd0JBQXdCLEVBR3hCLE1BQU0sRUFDTixVQUFVLEVBQ1YsUUFBUSxFQUNSLGdCQUFnQixHQUNqQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDNUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sK0RBQStELENBQUM7O0FBRzFHLE1BQ2EsMkJBQTJCO0lBVXRDO1FBVG1CLGFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDNUIsb0JBQWUsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUMzQyxVQUFLLEdBQUcsTUFBTSxDQUFDLHdCQUF3QixDQUFDLENBQUM7UUFDekMsaUJBQVksR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDcEMsYUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM1QixvQkFBZSxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBRS9ELGlCQUFZLEdBQW1ELElBQUks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QUM7UUFDOUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFpQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRTlGLE1BQU0sUUFBUSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFDckMsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUMvQyxRQUFRLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUN0QixJQUFJLENBQUMsWUFBWSxFQUFFLE9BQU8sRUFBRSxDQUFDO1lBQzdCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1FBQzNCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs4R0E3RVUsMkJBQTJCO2tIQUEzQiwyQkFBMkIsY0FEZCxNQUFNOztTQUNuQiwyQkFBMkI7MkZBQTNCLDJCQUEyQjtrQkFEdkMsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIEFwcGxpY2F0aW9uUmVmLFxyXG4gIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcclxuICBDb21wb25lbnRSZWYsXHJcbiAgRW1iZWRkZWRWaWV3UmVmLFxyXG4gIGluamVjdCxcclxuICBJbmplY3RhYmxlLFxyXG4gIEluamVjdG9yLFxyXG4gIFJlbmRlcmVyRmFjdG9yeTIsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgUmVzb2x2ZUVuZCB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgZmlsdGVyIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBSb3V0ZXJFdmVudHMgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xyXG5pbXBvcnQgeyBIVFRQX0VSUk9SX0NPTkZJRyB9IGZyb20gJy4uL3Rva2Vucy9odHRwLWVycm9yLnRva2VuJztcclxuaW1wb3J0IHsgSHR0cEVycm9yV3JhcHBlckNvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvaHR0cC1lcnJvci13cmFwcGVyL2h0dHAtZXJyb3Itd3JhcHBlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBFcnJvclNjcmVlbkVycm9yQ29kZXMgfSBmcm9tICcuLi9tb2RlbHMvY29tbW9uJztcclxuXHJcbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXHJcbmV4cG9ydCBjbGFzcyBDcmVhdGVFcnJvckNvbXBvbmVudFNlcnZpY2Uge1xyXG4gIHByb3RlY3RlZCByZWFkb25seSBkb2N1bWVudCA9IGluamVjdChET0NVTUVOVCk7XHJcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHJlbmRlcmVyRmFjdG9yeSA9IGluamVjdChSZW5kZXJlckZhY3RvcnkyKTtcclxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgY2ZSZXMgPSBpbmplY3QoQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyKTtcclxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgcm91dGVyRXZlbnRzID0gaW5qZWN0KFJvdXRlckV2ZW50cyk7XHJcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGluamVjdG9yID0gaW5qZWN0KEluamVjdG9yKTtcclxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgaHR0cEVycm9yQ29uZmlnID0gaW5qZWN0KEhUVFBfRVJST1JfQ09ORklHKTtcclxuXHJcbiAgY29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8SHR0cEVycm9yV3JhcHBlckNvbXBvbmVudD4gfCBudWxsID0gbnVsbDtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICB0aGlzLmxpc3RlblRvUm91dGVyRGF0YVJlc29sdmVkKCk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgbGlzdGVuVG9Sb3V0ZXJEYXRhUmVzb2x2ZWQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnJvdXRlckV2ZW50c1xyXG4gICAgICAuZ2V0RXZlbnRzKFJlc29sdmVFbmQpXHJcbiAgICAgIC5waXBlKGZpbHRlcigoKSA9PiAhIXRoaXMuY29tcG9uZW50UmVmKSlcclxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5jb21wb25lbnRSZWY/LmRlc3Ryb3koKTtcclxuICAgICAgICB0aGlzLmNvbXBvbmVudFJlZiA9IG51bGw7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGdldEVycm9ySG9zdEVsZW1lbnQoKTogSFRNTEVsZW1lbnQge1xyXG4gICAgcmV0dXJuIHRoaXMuZG9jdW1lbnQuYm9keTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBpc0Nsb3NlSWNvbkhpZGRlbigpOiBib29sZWFuIHtcclxuICAgIHJldHVybiAhIXRoaXMuaHR0cEVycm9yQ29uZmlnPy5lcnJvclNjcmVlbj8uaGlkZUNsb3NlSWNvbjtcclxuICB9XHJcblxyXG4gIGNhbkNyZWF0ZUN1c3RvbUVycm9yKHN0YXR1czogRXJyb3JTY3JlZW5FcnJvckNvZGVzKSB7XHJcbiAgICBjb25zdCB7IGNvbXBvbmVudCwgZm9yV2hpY2hFcnJvcnMgfSA9IHRoaXMuaHR0cEVycm9yQ29uZmlnPy5lcnJvclNjcmVlbiB8fCB7fTtcclxuXHJcbiAgICBpZiAoIWNvbXBvbmVudCB8fCAhZm9yV2hpY2hFcnJvcnMpIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBmb3JXaGljaEVycm9ycy5pbmRleE9mKHN0YXR1cykgPiAtMTtcclxuICB9XHJcblxyXG4gIGV4ZWN1dGUoaW5zdGFuY2U6IFBhcnRpYWw8SHR0cEVycm9yV3JhcHBlckNvbXBvbmVudD4pOiB2b2lkIHtcclxuICAgIGNvbnN0IHJlbmRlcmVyID0gdGhpcy5yZW5kZXJlckZhY3RvcnkuY3JlYXRlUmVuZGVyZXIobnVsbCwgbnVsbCk7XHJcbiAgICBjb25zdCBob3N0RWxlbWVudCA9IHRoaXMuZ2V0RXJyb3JIb3N0RWxlbWVudCgpO1xyXG4gICAgY29uc3QgaG9zdCA9IHJlbmRlcmVyLnNlbGVjdFJvb3RFbGVtZW50KGhvc3RFbGVtZW50LCB0cnVlKTtcclxuXHJcbiAgICB0aGlzLmNvbXBvbmVudFJlZiA9IHRoaXMuY2ZSZXNcclxuICAgICAgLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KEh0dHBFcnJvcldyYXBwZXJDb21wb25lbnQpXHJcbiAgICAgIC5jcmVhdGUodGhpcy5pbmplY3Rvcik7XHJcblxyXG4gICAgZm9yIChjb25zdCBrZXkgaW4gaW5zdGFuY2UpIHtcclxuICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cclxuICAgICAgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZSwga2V5KSkge1xyXG4gICAgICAgICh0aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZSBhcyBhbnkpW2tleV0gPSAoaW5zdGFuY2UgYXMgYW55KVtrZXldO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5jb21wb25lbnRSZWYuaW5zdGFuY2UuaGlkZUNsb3NlSWNvbiA9IHRoaXMuaXNDbG9zZUljb25IaWRkZW4oKTtcclxuICAgIGNvbnN0IGFwcFJlZiA9IHRoaXMuaW5qZWN0b3IuZ2V0KEFwcGxpY2F0aW9uUmVmKTtcclxuXHJcbiAgICBpZiAodGhpcy5jYW5DcmVhdGVDdXN0b21FcnJvcihpbnN0YW5jZS5zdGF0dXMgYXMgRXJyb3JTY3JlZW5FcnJvckNvZGVzKSkge1xyXG4gICAgICB0aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZS5jZlJlcyA9IHRoaXMuY2ZSZXM7XHJcbiAgICAgIHRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlLmFwcFJlZiA9IGFwcFJlZjtcclxuICAgICAgdGhpcy5jb21wb25lbnRSZWYuaW5zdGFuY2UuaW5qZWN0b3IgPSB0aGlzLmluamVjdG9yO1xyXG4gICAgICB0aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZS5jdXN0b21Db21wb25lbnQgPSB0aGlzLmh0dHBFcnJvckNvbmZpZy5lcnJvclNjcmVlbj8uY29tcG9uZW50O1xyXG4gICAgfVxyXG5cclxuICAgIGFwcFJlZi5hdHRhY2hWaWV3KHRoaXMuY29tcG9uZW50UmVmLmhvc3RWaWV3KTtcclxuICAgIHJlbmRlcmVyLmFwcGVuZENoaWxkKGhvc3QsICh0aGlzLmNvbXBvbmVudFJlZi5ob3N0VmlldyBhcyBFbWJlZGRlZFZpZXdSZWY8YW55Pikucm9vdE5vZGVzWzBdKTtcclxuXHJcbiAgICBjb25zdCBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgICB0aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZS5kZXN0cm95JCA9IGRlc3Ryb3kkO1xyXG4gICAgZGVzdHJveSQuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgdGhpcy5jb21wb25lbnRSZWY/LmRlc3Ryb3koKTtcclxuICAgICAgdGhpcy5jb21wb25lbnRSZWYgPSBudWxsO1xyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -11,7 +11,7 @@ class RouterErrorHandlerService {
|
|
|
11
11
|
this.httpErrorConfig = inject(HTTP_ERROR_CONFIG);
|
|
12
12
|
this.createErrorComponentService = inject(CreateErrorComponentService);
|
|
13
13
|
this.filterRouteErrors = (navigationError) => {
|
|
14
|
-
if (!this.httpErrorConfig
|
|
14
|
+
if (!this.httpErrorConfig?.skipHandledErrorCodes) {
|
|
15
15
|
return true;
|
|
16
16
|
}
|
|
17
17
|
return (navigationError.error?.message?.indexOf('Cannot match') > -1 &&
|
|
@@ -42,4 +42,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.6", ngImpor
|
|
|
42
42
|
type: Injectable,
|
|
43
43
|
args: [{ providedIn: 'root' }]
|
|
44
44
|
}] });
|
|
45
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVyLWVycm9yLWhhbmRsZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3RoZW1lLXNoYXJlZC9zcmMvbGliL3NlcnZpY2VzL3JvdXRlci1lcnJvci1oYW5kbGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDNUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQy9DLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUMxRCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7QUFHbEcsTUFDYSx5QkFBeUI7SUFEdEM7UUFFcUIsaUJBQVksR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDcEMsb0JBQWUsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUM1QyxnQ0FBMkIsR0FBRyxNQUFNLENBQUMsMkJBQTJCLENBQUMsQ0FBQztRQUUzRSxzQkFBaUIsR0FBRyxDQUFDLGVBQWdDLEVBQVcsRUFBRTtZQUMxRSxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxxQkFBcUIsRUFBRTtnQkFDaEQsT0FBTyxJQUFJLENBQUM7YUFDYjtZQUVELE9BQU8sQ0FDTCxlQUFlLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUM1RCxJQUFJLENBQUMsZUFBZSxDQUFDLHFCQUFxQixDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksS0FBSyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQy9FLENBQUM7UUFDSixDQUFDLENBQUM7S0FvQkg7SUFsQkMsTUFBTTtRQUNKLElBQUksQ0FBQyxZQUFZO2FBQ2QsbUJBQW1CLENBQUMsT0FBTyxDQUFDO2FBQzVCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7YUFDcEMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRCxXQUFXO1FBQ1QsTUFBTSxRQUFRLEdBQUc7WUFDZixLQUFLLEVBQUU7Z0JBQ0wsR0FBRyxFQUFFLDJCQUEyQixDQUFDLGVBQWUsQ0FBQyxLQUFLO2dCQUN0RCxZQUFZLEVBQUUsc0JBQXNCLENBQUMsZUFBZSxDQUFDLEtBQUs7YUFDM0Q7WUFDRCxNQUFNLEVBQXlCLEdBQUc7U0FDbkMsQ0FBQztRQUVGLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDckQsQ0FBQzs4R0FqQ1UseUJBQXlCO2tIQUF6Qix5QkFBeUIsY0FEWixNQUFNOztTQUNuQix5QkFBeUI7MkZBQXpCLHlCQUF5QjtrQkFEckMsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTmF2aWdhdGlvbkVycm9yIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgZmlsdGVyIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBSb3V0ZXJFdmVudHMgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xyXG5pbXBvcnQgeyBIVFRQX0VSUk9SX0NPTkZJRyB9IGZyb20gJy4uL3Rva2Vucy8nO1xyXG5pbXBvcnQgeyBDcmVhdGVFcnJvckNvbXBvbmVudFNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcyc7XHJcbmltcG9ydCB7IERFRkFVTFRfRVJST1JfTE9DQUxJWkFUSU9OUywgREVGQVVMVF9FUlJPUl9NRVNTQUdFUyB9IGZyb20gJy4uL2NvbnN0YW50cy9kZWZhdWx0LWVycm9ycyc7XHJcbmltcG9ydCB7IEVycm9yU2NyZWVuRXJyb3JDb2RlcyB9IGZyb20gJy4uL21vZGVscyc7XHJcblxyXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxyXG5leHBvcnQgY2xhc3MgUm91dGVyRXJyb3JIYW5kbGVyU2VydmljZSB7XHJcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHJvdXRlckV2ZW50cyA9IGluamVjdChSb3V0ZXJFdmVudHMpO1xyXG4gIHByb3RlY3RlZCByZWFkb25seSBodHRwRXJyb3JDb25maWcgPSBpbmplY3QoSFRUUF9FUlJPUl9DT05GSUcpO1xyXG4gIHByb3RlY3RlZCByZWFkb25seSBjcmVhdGVFcnJvckNvbXBvbmVudFNlcnZpY2UgPSBpbmplY3QoQ3JlYXRlRXJyb3JDb21wb25lbnRTZXJ2aWNlKTtcclxuXHJcbiAgcHJvdGVjdGVkIGZpbHRlclJvdXRlRXJyb3JzID0gKG5hdmlnYXRpb25FcnJvcjogTmF2aWdhdGlvbkVycm9yKTogYm9vbGVhbiA9PiB7XHJcbiAgICBpZiAoIXRoaXMuaHR0cEVycm9yQ29uZmlnPy5za2lwSGFuZGxlZEVycm9yQ29kZXMpIHtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIChcclxuICAgICAgbmF2aWdhdGlvbkVycm9yLmVycm9yPy5tZXNzYWdlPy5pbmRleE9mKCdDYW5ub3QgbWF0Y2gnKSA+IC0xICYmXHJcbiAgICAgIHRoaXMuaHR0cEVycm9yQ29uZmlnLnNraXBIYW5kbGVkRXJyb3JDb2Rlcy5maW5kSW5kZXgoY29kZSA9PiBjb2RlID09PSA0MDQpIDwgMFxyXG4gICAgKTtcclxuICB9O1xyXG5cclxuICBsaXN0ZW4oKSB7XHJcbiAgICB0aGlzLnJvdXRlckV2ZW50c1xyXG4gICAgICAuZ2V0TmF2aWdhdGlvbkV2ZW50cygnRXJyb3InKVxyXG4gICAgICAucGlwZShmaWx0ZXIodGhpcy5maWx0ZXJSb3V0ZUVycm9ycykpXHJcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5zaG93NDA0UGFnZSgpKTtcclxuICB9XHJcblxyXG4gIHNob3c0MDRQYWdlKCkge1xyXG4gICAgY29uc3QgaW5zdGFuY2UgPSB7XHJcbiAgICAgIHRpdGxlOiB7XHJcbiAgICAgICAga2V5OiBERUZBVUxUX0VSUk9SX0xPQ0FMSVpBVElPTlMuZGVmYXVsdEVycm9yNDA0LnRpdGxlLFxyXG4gICAgICAgIGRlZmF1bHRWYWx1ZTogREVGQVVMVF9FUlJPUl9NRVNTQUdFUy5kZWZhdWx0RXJyb3I0MDQudGl0bGUsXHJcbiAgICAgIH0sXHJcbiAgICAgIHN0YXR1czogPEVycm9yU2NyZWVuRXJyb3JDb2Rlcz40MDQsXHJcbiAgICB9O1xyXG5cclxuICAgIHRoaXMuY3JlYXRlRXJyb3JDb21wb25lbnRTZXJ2aWNlLmV4ZWN1dGUoaW5zdGFuY2UpO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -9,11 +9,39 @@ class StatusCodeErrorHandlerService {
|
|
|
9
9
|
this.confirmationService = inject(ConfirmationService);
|
|
10
10
|
this.createErrorComponentService = inject(CreateErrorComponentService);
|
|
11
11
|
this.authService = inject(AuthService);
|
|
12
|
-
this.priority = CUSTOM_HTTP_ERROR_HANDLER_PRIORITY.normal;
|
|
13
12
|
this.handledStatusCodes = [401, 403, 404, 500];
|
|
13
|
+
this.priority = CUSTOM_HTTP_ERROR_HANDLER_PRIORITY.normal;
|
|
14
|
+
}
|
|
15
|
+
navigateToLogin() {
|
|
16
|
+
this.authService.navigateToLogin();
|
|
17
|
+
}
|
|
18
|
+
showConfirmation(message, title) {
|
|
19
|
+
return this.confirmationService.error(message, title, {
|
|
20
|
+
hideCancelBtn: true,
|
|
21
|
+
yesText: 'AbpAccount::Close',
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
showPage() {
|
|
25
|
+
const key = `defaultError${this.status}`;
|
|
26
|
+
const shouldRemoveDetail = [401, 404].indexOf(this.status) > -1;
|
|
27
|
+
const instance = {
|
|
28
|
+
title: {
|
|
29
|
+
key: DEFAULT_ERROR_LOCALIZATIONS[key]?.title,
|
|
30
|
+
defaultValue: DEFAULT_ERROR_MESSAGES[key]?.title,
|
|
31
|
+
},
|
|
32
|
+
details: {
|
|
33
|
+
key: DEFAULT_ERROR_LOCALIZATIONS[key]?.details,
|
|
34
|
+
defaultValue: DEFAULT_ERROR_MESSAGES[key]?.details,
|
|
35
|
+
},
|
|
36
|
+
status: this.status,
|
|
37
|
+
};
|
|
38
|
+
if (shouldRemoveDetail) {
|
|
39
|
+
delete instance.details;
|
|
40
|
+
}
|
|
41
|
+
this.createErrorComponentService.execute(instance);
|
|
14
42
|
}
|
|
15
43
|
canHandle({ status }) {
|
|
16
|
-
this.status = status;
|
|
44
|
+
this.status = status || 0;
|
|
17
45
|
return this.handledStatusCodes.indexOf(status) > -1;
|
|
18
46
|
}
|
|
19
47
|
execute() {
|
|
@@ -34,11 +62,11 @@ class StatusCodeErrorHandlerService {
|
|
|
34
62
|
this.showPage();
|
|
35
63
|
break;
|
|
36
64
|
}
|
|
37
|
-
this.
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
65
|
+
if (this.status === 401) {
|
|
66
|
+
this.authService.navigateToLogin();
|
|
67
|
+
break;
|
|
68
|
+
}
|
|
69
|
+
this.showConfirmation(title, message).subscribe();
|
|
42
70
|
break;
|
|
43
71
|
case 403:
|
|
44
72
|
case 500:
|
|
@@ -46,34 +74,6 @@ class StatusCodeErrorHandlerService {
|
|
|
46
74
|
break;
|
|
47
75
|
}
|
|
48
76
|
}
|
|
49
|
-
navigateToLogin() {
|
|
50
|
-
this.authService.navigateToLogin();
|
|
51
|
-
}
|
|
52
|
-
showConfirmation(message, title) {
|
|
53
|
-
return this.confirmationService.error(message, title, {
|
|
54
|
-
hideCancelBtn: true,
|
|
55
|
-
yesText: 'AbpAccount::Close',
|
|
56
|
-
});
|
|
57
|
-
}
|
|
58
|
-
showPage() {
|
|
59
|
-
const key = `defaultError${this.status}`;
|
|
60
|
-
const instance = {
|
|
61
|
-
title: {
|
|
62
|
-
key: DEFAULT_ERROR_LOCALIZATIONS[key]?.title,
|
|
63
|
-
defaultValue: DEFAULT_ERROR_MESSAGES[key]?.title,
|
|
64
|
-
},
|
|
65
|
-
details: {
|
|
66
|
-
key: DEFAULT_ERROR_LOCALIZATIONS[key]?.details,
|
|
67
|
-
defaultValue: DEFAULT_ERROR_MESSAGES[key]?.details,
|
|
68
|
-
},
|
|
69
|
-
status: this.status,
|
|
70
|
-
};
|
|
71
|
-
const shouldRemoveDetail = [401, 404].indexOf(this.status) > -1;
|
|
72
|
-
if (shouldRemoveDetail) {
|
|
73
|
-
delete instance.details;
|
|
74
|
-
}
|
|
75
|
-
this.createErrorComponentService.execute(instance);
|
|
76
|
-
}
|
|
77
77
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.6", ngImport: i0, type: StatusCodeErrorHandlerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
78
78
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.6", ngImport: i0, type: StatusCodeErrorHandlerService, providedIn: 'root' }); }
|
|
79
79
|
}
|
|
@@ -82,4 +82,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.6", ngImpor
|
|
|
82
82
|
type: Injectable,
|
|
83
83
|
args: [{ providedIn: 'root' }]
|
|
84
84
|
}] });
|
|
85
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
85
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdHVzLWNvZGUtZXJyb3ItaGFuZGxlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvdGhlbWUtc2hhcmVkL3NyYy9saWIvc2VydmljZXMvc3RhdHVzLWNvZGUtZXJyb3ItaGFuZGxlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFDTCxrQ0FBa0MsRUFDbEMsMkJBQTJCLEVBQzNCLHNCQUFzQixHQUN2QixNQUFNLDZCQUE2QixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxXQUFXLEVBQXFCLE1BQU0sY0FBYyxDQUFDO0FBRTlELE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzdELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDOztBQUUvRSxNQUNhLDZCQUE2QjtJQUQxQztRQUVxQix3QkFBbUIsR0FBRyxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUNsRCxnQ0FBMkIsR0FBRyxNQUFNLENBQUMsMkJBQTJCLENBQUMsQ0FBQztRQUNsRSxnQkFBVyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUVsQyx1QkFBa0IsR0FBRyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBVSxDQUFDO1FBRzdELGFBQVEsR0FBRyxrQ0FBa0MsQ0FBQyxNQUFNLENBQUM7S0E4RS9EO0lBNUVXLGVBQWU7UUFDdkIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUNyQyxDQUFDO0lBRVMsZ0JBQWdCLENBQ3hCLE9BQTBCLEVBQzFCLEtBQXdCO1FBRXhCLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFO1lBQ3BELGFBQWEsRUFBRSxJQUFJO1lBQ25CLE9BQU8sRUFBRSxtQkFBbUI7U0FDN0IsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVTLFFBQVE7UUFDaEIsTUFBTSxHQUFHLEdBQUcsZUFBZSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDekMsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ2hFLE1BQU0sUUFBUSxHQUFHO1lBQ2YsS0FBSyxFQUFFO2dCQUNMLEdBQUcsRUFBRSwyQkFBMkIsQ0FBQyxHQUFHLENBQUMsRUFBRSxLQUFLO2dCQUM1QyxZQUFZLEVBQUUsc0JBQXNCLENBQUMsR0FBRyxDQUFDLEVBQUUsS0FBSzthQUNqRDtZQUNELE9BQU8sRUFBRTtnQkFDUCxHQUFHLEVBQUUsMkJBQTJCLENBQUMsR0FBRyxDQUFDLEVBQUUsT0FBTztnQkFDOUMsWUFBWSxFQUFFLHNCQUFzQixDQUFDLEdBQUcsQ0FBQyxFQUFFLE9BQU87YUFDbkQ7WUFDRCxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07U0FDcEIsQ0FBQztRQUVGLElBQUksa0JBQWtCLEVBQUU7WUFDdEIsT0FBTyxRQUFRLENBQUMsT0FBTyxDQUFDO1NBQ3pCO1FBRUQsSUFBSSxDQUFDLDJCQUEyQixDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRUQsU0FBUyxDQUFDLEVBQUUsTUFBTSxFQUFFO1FBQ2xCLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxJQUFJLENBQUMsQ0FBQztRQUMxQixPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVELE9BQU87UUFDTCxNQUFNLEdBQUcsR0FBRyxlQUFlLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUN6QyxNQUFNLEtBQUssR0FBRztZQUNaLEdBQUcsRUFBRSwyQkFBMkIsQ0FBQyxHQUFHLENBQUMsRUFBRSxLQUFLO1lBQzVDLFlBQVksRUFBRSxzQkFBc0IsQ0FBQyxHQUFHLENBQUMsRUFBRSxLQUFLO1NBQ2pELENBQUM7UUFDRixNQUFNLE9BQU8sR0FBRztZQUNkLEdBQUcsRUFBRSwyQkFBMkIsQ0FBQyxHQUFHLENBQUMsRUFBRSxPQUFPO1lBQzlDLFlBQVksRUFBRSxzQkFBc0IsQ0FBQyxHQUFHLENBQUMsRUFBRSxPQUFPO1NBQ25ELENBQUM7UUFFRixNQUFNLG9CQUFvQixHQUFHLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFaEcsUUFBUSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ25CLEtBQUssR0FBRyxDQUFDO1lBQ1QsS0FBSyxHQUFHO2dCQUNOLElBQUksb0JBQW9CLEVBQUU7b0JBQ3hCLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztvQkFDaEIsTUFBTTtpQkFDUDtnQkFFRCxJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssR0FBRyxFQUFFO29CQUN2QixJQUFJLENBQUMsV0FBVyxDQUFDLGVBQWUsRUFBRSxDQUFDO29CQUNuQyxNQUFNO2lCQUNQO2dCQUVELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7Z0JBQ2xELE1BQU07WUFFUixLQUFLLEdBQUcsQ0FBQztZQUNULEtBQUssR0FBRztnQkFDTixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQ2hCLE1BQU07U0FDVDtJQUNILENBQUM7OEdBckZVLDZCQUE2QjtrSEFBN0IsNkJBQTZCLGNBRGhCLE1BQU07O1NBQ25CLDZCQUE2QjsyRkFBN0IsNkJBQTZCO2tCQUR6QyxVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbmZpcm1hdGlvbiwgQ3VzdG9tSHR0cEVycm9ySGFuZGxlclNlcnZpY2UgfSBmcm9tICcuLi9tb2RlbHMnO1xyXG5pbXBvcnQge1xyXG4gIENVU1RPTV9IVFRQX0VSUk9SX0hBTkRMRVJfUFJJT1JJVFksXHJcbiAgREVGQVVMVF9FUlJPUl9MT0NBTElaQVRJT05TLFxyXG4gIERFRkFVTFRfRVJST1JfTUVTU0FHRVMsXHJcbn0gZnJvbSAnLi4vY29uc3RhbnRzL2RlZmF1bHQtZXJyb3JzJztcclxuaW1wb3J0IHsgQXV0aFNlcnZpY2UsIExvY2FsaXphdGlvblBhcmFtIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29uZmlybWF0aW9uU2VydmljZSB9IGZyb20gJy4vY29uZmlybWF0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDcmVhdGVFcnJvckNvbXBvbmVudFNlcnZpY2UgfSBmcm9tICcuL2NyZWF0ZS1lcnJvci1jb21wb25lbnQuc2VydmljZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxyXG5leHBvcnQgY2xhc3MgU3RhdHVzQ29kZUVycm9ySGFuZGxlclNlcnZpY2UgaW1wbGVtZW50cyBDdXN0b21IdHRwRXJyb3JIYW5kbGVyU2VydmljZSB7XHJcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGNvbmZpcm1hdGlvblNlcnZpY2UgPSBpbmplY3QoQ29uZmlybWF0aW9uU2VydmljZSk7XHJcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGNyZWF0ZUVycm9yQ29tcG9uZW50U2VydmljZSA9IGluamVjdChDcmVhdGVFcnJvckNvbXBvbmVudFNlcnZpY2UpO1xyXG4gIHByb3RlY3RlZCByZWFkb25seSBhdXRoU2VydmljZSA9IGluamVjdChBdXRoU2VydmljZSk7XHJcblxyXG4gIHByb3RlY3RlZCByZWFkb25seSBoYW5kbGVkU3RhdHVzQ29kZXMgPSBbNDAxLCA0MDMsIDQwNCwgNTAwXSBhcyBjb25zdDtcclxuICBwcm90ZWN0ZWQgc3RhdHVzOiB0eXBlb2YgdGhpcy5oYW5kbGVkU3RhdHVzQ29kZXNbbnVtYmVyXTtcclxuXHJcbiAgcmVhZG9ubHkgcHJpb3JpdHkgPSBDVVNUT01fSFRUUF9FUlJPUl9IQU5ETEVSX1BSSU9SSVRZLm5vcm1hbDtcclxuXHJcbiAgcHJvdGVjdGVkIG5hdmlnYXRlVG9Mb2dpbigpOiB2b2lkIHtcclxuICAgIHRoaXMuYXV0aFNlcnZpY2UubmF2aWdhdGVUb0xvZ2luKCk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgc2hvd0NvbmZpcm1hdGlvbihcclxuICAgIG1lc3NhZ2U6IExvY2FsaXphdGlvblBhcmFtLFxyXG4gICAgdGl0bGU6IExvY2FsaXphdGlvblBhcmFtLFxyXG4gICk6IE9ic2VydmFibGU8Q29uZmlybWF0aW9uLlN0YXR1cz4ge1xyXG4gICAgcmV0dXJuIHRoaXMuY29uZmlybWF0aW9uU2VydmljZS5lcnJvcihtZXNzYWdlLCB0aXRsZSwge1xyXG4gICAgICBoaWRlQ2FuY2VsQnRuOiB0cnVlLFxyXG4gICAgICB5ZXNUZXh0OiAnQWJwQWNjb3VudDo6Q2xvc2UnLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgc2hvd1BhZ2UoKTogdm9pZCB7XHJcbiAgICBjb25zdCBrZXkgPSBgZGVmYXVsdEVycm9yJHt0aGlzLnN0YXR1c31gO1xyXG4gICAgY29uc3Qgc2hvdWxkUmVtb3ZlRGV0YWlsID0gWzQwMSwgNDA0XS5pbmRleE9mKHRoaXMuc3RhdHVzKSA+IC0xO1xyXG4gICAgY29uc3QgaW5zdGFuY2UgPSB7XHJcbiAgICAgIHRpdGxlOiB7XHJcbiAgICAgICAga2V5OiBERUZBVUxUX0VSUk9SX0xPQ0FMSVpBVElPTlNba2V5XT8udGl0bGUsXHJcbiAgICAgICAgZGVmYXVsdFZhbHVlOiBERUZBVUxUX0VSUk9SX01FU1NBR0VTW2tleV0/LnRpdGxlLFxyXG4gICAgICB9LFxyXG4gICAgICBkZXRhaWxzOiB7XHJcbiAgICAgICAga2V5OiBERUZBVUxUX0VSUk9SX0xPQ0FMSVpBVElPTlNba2V5XT8uZGV0YWlscyxcclxuICAgICAgICBkZWZhdWx0VmFsdWU6IERFRkFVTFRfRVJST1JfTUVTU0FHRVNba2V5XT8uZGV0YWlscyxcclxuICAgICAgfSxcclxuICAgICAgc3RhdHVzOiB0aGlzLnN0YXR1cyxcclxuICAgIH07XHJcblxyXG4gICAgaWYgKHNob3VsZFJlbW92ZURldGFpbCkge1xyXG4gICAgICBkZWxldGUgaW5zdGFuY2UuZGV0YWlscztcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmNyZWF0ZUVycm9yQ29tcG9uZW50U2VydmljZS5leGVjdXRlKGluc3RhbmNlKTtcclxuICB9XHJcblxyXG4gIGNhbkhhbmRsZSh7IHN0YXR1cyB9KTogYm9vbGVhbiB7XHJcbiAgICB0aGlzLnN0YXR1cyA9IHN0YXR1cyB8fCAwO1xyXG4gICAgcmV0dXJuIHRoaXMuaGFuZGxlZFN0YXR1c0NvZGVzLmluZGV4T2Yoc3RhdHVzKSA+IC0xO1xyXG4gIH1cclxuXHJcbiAgZXhlY3V0ZSgpOiB2b2lkIHtcclxuICAgIGNvbnN0IGtleSA9IGBkZWZhdWx0RXJyb3Ike3RoaXMuc3RhdHVzfWA7XHJcbiAgICBjb25zdCB0aXRsZSA9IHtcclxuICAgICAga2V5OiBERUZBVUxUX0VSUk9SX0xPQ0FMSVpBVElPTlNba2V5XT8udGl0bGUsXHJcbiAgICAgIGRlZmF1bHRWYWx1ZTogREVGQVVMVF9FUlJPUl9NRVNTQUdFU1trZXldPy50aXRsZSxcclxuICAgIH07XHJcbiAgICBjb25zdCBtZXNzYWdlID0ge1xyXG4gICAgICBrZXk6IERFRkFVTFRfRVJST1JfTE9DQUxJWkFUSU9OU1trZXldPy5kZXRhaWxzLFxyXG4gICAgICBkZWZhdWx0VmFsdWU6IERFRkFVTFRfRVJST1JfTUVTU0FHRVNba2V5XT8uZGV0YWlscyxcclxuICAgIH07XHJcblxyXG4gICAgY29uc3QgY2FuQ3JlYXRlQ3VzdG9tRXJyb3IgPSB0aGlzLmNyZWF0ZUVycm9yQ29tcG9uZW50U2VydmljZS5jYW5DcmVhdGVDdXN0b21FcnJvcih0aGlzLnN0YXR1cyk7XHJcblxyXG4gICAgc3dpdGNoICh0aGlzLnN0YXR1cykge1xyXG4gICAgICBjYXNlIDQwMTpcclxuICAgICAgY2FzZSA0MDQ6XHJcbiAgICAgICAgaWYgKGNhbkNyZWF0ZUN1c3RvbUVycm9yKSB7XHJcbiAgICAgICAgICB0aGlzLnNob3dQYWdlKCk7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICh0aGlzLnN0YXR1cyA9PT0gNDAxKSB7XHJcbiAgICAgICAgICB0aGlzLmF1dGhTZXJ2aWNlLm5hdmlnYXRlVG9Mb2dpbigpO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLnNob3dDb25maXJtYXRpb24odGl0bGUsIG1lc3NhZ2UpLnN1YnNjcmliZSgpO1xyXG4gICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgY2FzZSA0MDM6XHJcbiAgICAgIGNhc2UgNTAwOlxyXG4gICAgICAgIHRoaXMuc2hvd1BhZ2UoKTtcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
|