@alfresco/adf-process-services-cloud 8.1.0-14446289460 → 8.1.0-14468269303
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.
|
@@ -50,11 +50,6 @@ export class WebSocketService {
|
|
|
50
50
|
}
|
|
51
51
|
return this.apollo.use(apolloClientName).subscribe({ errorPolicy: 'all', ...subscriptionOptions });
|
|
52
52
|
}
|
|
53
|
-
removeApolloClientIfExists(apolloClientName) {
|
|
54
|
-
if (this.apollo.use(apolloClientName)) {
|
|
55
|
-
this.apollo.removeClient(apolloClientName);
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
53
|
get contextRoot() {
|
|
59
54
|
return this.appConfigService.get('bpmHost', '');
|
|
60
55
|
}
|
|
@@ -103,18 +98,9 @@ export class WebSocketService {
|
|
|
103
98
|
max: Number.POSITIVE_INFINITY,
|
|
104
99
|
jitter: true
|
|
105
100
|
},
|
|
106
|
-
attempts:
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
}
|
|
110
|
-
const isUnauthorizedError = (Array.isArray(error) &&
|
|
111
|
-
error.some((err) => err?.extensions?.code === 'UNAUTHORIZED' ||
|
|
112
|
-
err?.message?.includes('4401') ||
|
|
113
|
-
err?.message?.toLowerCase().includes('unauthorized'))) ||
|
|
114
|
-
(typeof error === 'string' && (error.includes('4401') || error.toLowerCase().includes('unauthorized'))) ||
|
|
115
|
-
(error?.message && (error.message.includes('4401') || error.message.toLowerCase().includes('unauthorized')));
|
|
116
|
-
const shouldRetry = isUnauthorizedError ? this.authService.isLoggedIn() : count < 5;
|
|
117
|
-
return shouldRetry;
|
|
101
|
+
attempts: {
|
|
102
|
+
max: 5,
|
|
103
|
+
retryIf: (error) => !!error
|
|
118
104
|
}
|
|
119
105
|
});
|
|
120
106
|
this.apollo.createNamed(options.apolloClientName, {
|
|
@@ -129,13 +115,10 @@ export class WebSocketService {
|
|
|
129
115
|
createGraphQLWsLink(options) {
|
|
130
116
|
this.wsLink = new GraphQLWsLink(createClient({
|
|
131
117
|
url: this.createWsUrl(options.wsUrl) + '/v2/ws/graphql',
|
|
132
|
-
connectionParams:
|
|
118
|
+
connectionParams: {
|
|
133
119
|
Authorization: 'Bearer ' + this.authService.getToken()
|
|
134
|
-
}
|
|
120
|
+
},
|
|
135
121
|
on: {
|
|
136
|
-
closed: () => {
|
|
137
|
-
this.removeApolloClientIfExists(options.apolloClientName);
|
|
138
|
-
},
|
|
139
122
|
error: () => {
|
|
140
123
|
this.apollo.removeClient(options.apolloClientName);
|
|
141
124
|
this.initSubscriptions(options);
|
|
@@ -160,4 +143,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImpor
|
|
|
160
143
|
providedIn: 'root'
|
|
161
144
|
}]
|
|
162
145
|
}], ctorParameters: () => [{ type: i1.Apollo }, { type: i2.HttpLink }, { type: i3.AuthenticationService }] });
|
|
163
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2ViLXNvY2tldC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGliL3Byb2Nlc3Mtc2VydmljZXMtY2xvdWQvc3JjL2xpYi9zZXJ2aWNlcy93ZWItc29ja2V0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBRUgsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFlBQVksQ0FBQztBQUMxQyxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFbEUsT0FBTyxFQUdILElBQUksRUFDSixhQUFhLEVBSWIsS0FBSyxFQUVSLE1BQU0scUJBQXFCLENBQUM7QUFFN0IsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hDLE9BQU8sRUFBRSxRQUFRLEVBQW1CLE1BQU0scUJBQXFCLENBQUM7QUFDaEUsT0FBTyxFQUFFLElBQUksRUFBRSxpQkFBaUIsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUNsRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDcEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzdELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7Ozs7QUFZN0UsTUFBTSxPQUFPLGdCQUFnQjtJQU16QixZQUE2QixNQUFjLEVBQW1CLFFBQWtCLEVBQW1CLFdBQWtDO1FBQXhHLFdBQU0sR0FBTixNQUFNLENBQVE7UUFBbUIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUFtQixn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Q0FBQyxDQUFDO2dCQUNwQyxDQUFDO2FBQ0o7WUFDRCxJQUFJLEVBQUUsSUFBSTtTQUNiLENBQUMsQ0FDTCxDQUFDO0lBQ04sQ0FBQztJQUVPLHFCQUFxQixDQUFDLE9BQXVCO1FBQ2pELElBQUksQ0FBQyxlQUFlLEdBQUcsT0FBTyxDQUFDLE9BQU87WUFDbEMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDO2dCQUNqQixHQUFHLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDO2FBQzNDLENBQUM7WUFDSixDQUFDLENBQUMsU0FBUyxDQUFDO0lBQ3BCLENBQUM7OEdBdEpRLGdCQUFnQjtrSEFBaEIsZ0JBQWdCLGNBRmIsTUFBTTs7MkZBRVQsZ0JBQWdCO2tCQUg1QixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjUgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgY3JlYXRlQ2xpZW50IH0gZnJvbSAnZ3JhcGhxbC13cyc7XG5pbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEdyYXBoUUxXc0xpbmsgfSBmcm9tICdAYXBvbGxvL2NsaWVudC9saW5rL3N1YnNjcmlwdGlvbnMnO1xuaW1wb3J0IHsgV2ViU29ja2V0TGluayB9IGZyb20gJ0BhcG9sbG8vY2xpZW50L2xpbmsvd3MnO1xuaW1wb3J0IHtcbiAgICBEZWZhdWx0Q29udGV4dCxcbiAgICBGZXRjaFJlc3VsdCxcbiAgICBmcm9tLFxuICAgIEluTWVtb3J5Q2FjaGUsXG4gICAgSW5NZW1vcnlDYWNoZUNvbmZpZyxcbiAgICBOZXh0TGluayxcbiAgICBPcGVyYXRpb24sXG4gICAgc3BsaXQsXG4gICAgU3Vic2NyaXB0aW9uT3B0aW9uc1xufSBmcm9tICdAYXBvbGxvL2NsaWVudC9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFwb2xsbyB9IGZyb20gJ2Fwb2xsby1hbmd1bGFyJztcbmltcG9ydCB7IEh0dHBMaW5rLCBIdHRwTGlua0hhbmRsZXIgfSBmcm9tICdhcG9sbG8tYW5ndWxhci9odHRwJztcbmltcG9ydCB7IEtpbmQsIE9wZXJhdGlvblR5cGVOb2RlIH0gZnJvbSAnZ3JhcGhxbCc7XG5pbXBvcnQgeyBvbkVycm9yIH0gZnJvbSAnQGFwb2xsby9jbGllbnQvbGluay9lcnJvcic7XG5pbXBvcnQgeyBSZXRyeUxpbmsgfSBmcm9tICdAYXBvbGxvL2NsaWVudC9saW5rL3JldHJ5JztcbmltcG9ydCB7IGdldE1haW5EZWZpbml0aW9uIH0gZnJvbSAnQGFwb2xsby9jbGllbnQvdXRpbGl0aWVzJztcbmltcG9ydCB7IHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBBcHBDb25maWdTZXJ2aWNlLCBBdXRoZW50aWNhdGlvblNlcnZpY2UgfSBmcm9tICdAYWxmcmVzY28vYWRmLWNvcmUnO1xuXG5pbnRlcmZhY2Ugc2VydmljZU9wdGlvbnMge1xuICAgIGFwb2xsb0NsaWVudE5hbWU6IHN0cmluZztcbiAgICB3c1VybDogc3RyaW5nO1xuICAgIGh0dHBVcmw/OiBzdHJpbmc7XG4gICAgc3Vic2NyaXB0aW9uT3B0aW9uczogU3Vic2NyaXB0aW9uT3B0aW9ucztcbn1cblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBXZWJTb2NrZXRTZXJ2aWNlIHtcbiAgICBwcml2YXRlIGFwcENvbmZpZ1NlcnZpY2UgPSBpbmplY3QoQXBwQ29uZmlnU2VydmljZSk7XG4gICAgcHJpdmF0ZSBzdWJzY3JpcHRpb25Qcm90b2NvbCA9ICdncmFwaHFsLXdzJztcbiAgICBwcml2YXRlIHdzTGluazogR3JhcGhRTFdzTGluayB8IFdlYlNvY2tldExpbms7XG4gICAgcHJpdmF0ZSBodHRwTGlua0hhbmRsZXI6IEh0dHBMaW5rSGFuZGxlcjtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgYXBvbGxvOiBBcG9sbG8sIHByaXZhdGUgcmVhZG9ubHkgaHR0cExpbms6IEh0dHBMaW5rLCBwcml2YXRlIHJlYWRvbmx5IGF1dGhTZXJ2aWNlOiBBdXRoZW50aWNhdGlvblNlcnZpY2UpIHt9XG5cbiAgICBwdWJsaWMgZ2V0U3Vic2NyaXB0aW9uPFQ+KG9wdGlvbnM6IHNlcnZpY2VPcHRpb25zKTogT2JzZXJ2YWJsZTxGZXRjaFJlc3VsdDxUPj4ge1xuICAgICAgICBjb25zdCB7IGFwb2xsb0NsaWVudE5hbWUsIHN1YnNjcmlwdGlvbk9wdGlvbnMgfSA9IG9wdGlvbnM7XG4gICAgICAgIHRoaXMuYXV0aFNlcnZpY2Uub25Mb2dvdXQucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMuYXBvbGxvLnVzZShhcG9sbG9DbGllbnROYW1lKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuYXBvbGxvLnJlbW92ZUNsaWVudChhcG9sbG9DbGllbnROYW1lKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKHRoaXMuYXBvbGxvLnVzZShhcG9sbG9DbGllbnROYW1lKSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB0aGlzLmluaXRTdWJzY3JpcHRpb25zKG9wdGlvbnMpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLmFwb2xsby51c2UoYXBvbGxvQ2xpZW50TmFtZSkuc3Vic2NyaWJlPFQ+KHsgZXJyb3JQb2xpY3k6ICdhbGwnLCAuLi5zdWJzY3JpcHRpb25PcHRpb25zIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVtb3ZlQXBvbGxvQ2xpZW50SWZFeGlzdHMoYXBvbGxvQ2xpZW50TmFtZTogc3RyaW5nKSB7XG4gICAgICAgIGlmICh0aGlzLmFwb2xsby51c2UoYXBvbGxvQ2xpZW50TmFtZSkpIHtcbiAgICAgICAgICAgIHRoaXMuYXBvbGxvLnJlbW92ZUNsaWVudChhcG9sbG9DbGllbnROYW1lKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IGNvbnRleHRSb290KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5hcHBDb25maWdTZXJ2aWNlLmdldCgnYnBtSG9zdCcsICcnKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNyZWF0ZVdzVXJsKHNlcnZpY2VVcmw6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IHVybCA9IG5ldyBVUkwoc2VydmljZVVybCwgdGhpcy5jb250ZXh0Um9vdCk7XG4gICAgICAgIGNvbnN0IHByb3RvY29sID0gdXJsLnByb3RvY29sID09PSAnaHR0cHM6JyA/ICd3c3M6JyA6ICd3czonO1xuICAgICAgICB1cmwucHJvdG9jb2wgPSBwcm90b2NvbDtcblxuICAgICAgICByZXR1cm4gdXJsLmhyZWY7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjcmVhdGVIdHRwVXJsKHNlcnZpY2VVcmw6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IHVybCA9IG5ldyBVUkwoc2VydmljZVVybCwgdGhpcy5jb250ZXh0Um9vdCk7XG5cbiAgICAgICAgcmV0dXJuIHVybC5ocmVmO1xuICAgIH1cblxuICAgIHByaXZhdGUgaW5pdFN1YnNjcmlwdGlvbnMob3B0aW9uczogc2VydmljZU9wdGlvbnMpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jcmVhdGVHcmFwaFFMV3NMaW5rKG9wdGlvbnMpO1xuXG4gICAgICAgIHRoaXMuY3JlYXRlSHR0cExpbmtIYW5kbGVyKG9wdGlvbnMpO1xuXG4gICAgICAgIGNvbnN0IGxpbmsgPSBzcGxpdChcbiAgICAgICAgICAgICh7IHF1ZXJ5IH0pID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBkZWZpbml0aW9uID0gZ2V0TWFpbkRlZmluaXRpb24ocXVlcnkpO1xuICAgICAgICAgICAgICAgIHJldHVybiBkZWZpbml0aW9uLmtpbmQgPT09IEtpbmQuT1BFUkFUSU9OX0RFRklOSVRJT04gJiYgZGVmaW5pdGlvbi5vcGVyYXRpb24gPT09IE9wZXJhdGlvblR5cGVOb2RlLlNVQlNDUklQVElPTjtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB0aGlzLndzTGluayxcbiAgICAgICAgICAgIHRoaXMuaHR0cExpbmtIYW5kbGVyXG4gICAgICAgICk7XG5cbiAgICAgICAgY29uc3QgYXV0aExpbmsgPSAob3BlcmF0aW9uOiBPcGVyYXRpb24sIGZvcndhcmQ6IE5leHRMaW5rKSA9PiB7XG4gICAgICAgICAgICBvcGVyYXRpb24uc2V0Q29udGV4dCgoeyBoZWFkZXJzIH06IERlZmF1bHRDb250ZXh0KSA9PiAoe1xuICAgICAgICAgICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAgICAgICAgICAgLi4uaGVhZGVycyxcbiAgICAgICAgICAgICAgICAgICAgLi4uKHRoaXMuc3Vic2NyaXB0aW9uUHJvdG9jb2wgPT09ICdncmFwaHFsLXdzJyAmJiB7IEF1dGhvcml6YXRpb246IGBCZWFyZXIgJHt0aGlzLmF1dGhTZXJ2aWNlLmdldFRva2VuKCl9YCB9KSxcbiAgICAgICAgICAgICAgICAgICAgLi4uKHRoaXMuc3Vic2NyaXB0aW9uUHJvdG9jb2wgPT09ICd0cmFuc3BvcnQtd3MnICYmIHsgJ1gtQXV0aG9yaXphdGlvbic6IGBCZWFyZXIgJHt0aGlzLmF1dGhTZXJ2aWNlLmdldFRva2VuKCl9YCB9KVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pKTtcbiAgICAgICAgICAgIHJldHVybiBmb3J3YXJkKG9wZXJhdGlvbik7XG4gICAgICAgIH07XG5cbiAgICAgICAgY29uc3QgZXJyb3JMaW5rID0gb25FcnJvcigoeyBncmFwaFFMRXJyb3JzLCBuZXR3b3JrRXJyb3IsIG9wZXJhdGlvbiwgZm9yd2FyZCB9KSA9PiB7XG4gICAgICAgICAgICBpZiAoZ3JhcGhRTEVycm9ycykge1xuICAgICAgICAgICAgICAgIGZvciAoY29uc3QgZXJyb3Igb2YgZ3JhcGhRTEVycm9ycykge1xuICAgICAgICAgICAgICAgICAgICBpZiAoZXJyb3IuZXh0ZW5zaW9ucyAmJiBlcnJvci5leHRlbnNpb25zWydjb2RlJ10gPT09ICdVTkFVVEhFTlRJQ0FURUQnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBhdXRoTGluayhvcGVyYXRpb24sIGZvcndhcmQpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAobmV0d29ya0Vycm9yKSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihgW05ldHdvcmsgZXJyb3JdOiAke25ldHdvcmtFcnJvcn1gKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgY29uc3QgcmV0cnlMaW5rID0gbmV3IFJldHJ5TGluayh7XG4gICAgICAgICAgICBkZWxheToge1xuICAgICAgICAgICAgICAgIGluaXRpYWw6IDMwMCxcbiAgICAgICAgICAgICAgICBtYXg6IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSxcbiAgICAgICAgICAgICAgICBqaXR0ZXI6IHRydWVcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBhdHRlbXB0czogKGNvdW50OiBudW1iZXIsIF9vcGVyYXRpb246IE9wZXJhdGlvbiwgZXJyb3I6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICghZXJyb3IpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGNvbnN0IGlzVW5hdXRob3JpemVkRXJyb3IgPVxuICAgICAgICAgICAgICAgICAgICAoQXJyYXkuaXNBcnJheShlcnJvcikgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yLnNvbWUoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGVycjogYW55KSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnI/LmV4dGVuc2lvbnM/LmNvZGUgPT09ICdVTkFVVEhPUklaRUQnIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVycj8ubWVzc2FnZT8uaW5jbHVkZXMoJzQ0MDEnKSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnI/Lm1lc3NhZ2U/LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoJ3VuYXV0aG9yaXplZCcpXG4gICAgICAgICAgICAgICAgICAgICAgICApKSB8fFxuICAgICAgICAgICAgICAgICAgICAodHlwZW9mIGVycm9yID09PSAnc3RyaW5nJyAmJiAoZXJyb3IuaW5jbHVkZXMoJzQ0MDEnKSB8fCBlcnJvci50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKCd1bmF1dGhvcml6ZWQnKSkpIHx8XG4gICAgICAgICAgICAgICAgICAgIChlcnJvcj8ubWVzc2FnZSAmJiAoZXJyb3IubWVzc2FnZS5pbmNsdWRlcygnNDQwMScpIHx8IGVycm9yLm1lc3NhZ2UudG9Mb3dlckNhc2UoKS5pbmNsdWRlcygndW5hdXRob3JpemVkJykpKTtcblxuICAgICAgICAgICAgICAgIGNvbnN0IHNob3VsZFJldHJ5ID0gaXNVbmF1dGhvcml6ZWRFcnJvciA/IHRoaXMuYXV0aFNlcnZpY2UuaXNMb2dnZWRJbigpIDogY291bnQgPCA1O1xuXG4gICAgICAgICAgICAgICAgcmV0dXJuIHNob3VsZFJldHJ5O1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmFwb2xsby5jcmVhdGVOYW1lZChvcHRpb25zLmFwb2xsb0NsaWVudE5hbWUsIHtcbiAgICAgICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAgICAgICAuLi4odGhpcy5zdWJzY3JpcHRpb25Qcm90b2NvbCA9PT0gJ2dyYXBocWwtd3MnICYmIHsgQXV0aG9yaXphdGlvbjogYEJlYXJlciAke3RoaXMuYXV0aFNlcnZpY2UuZ2V0VG9rZW4oKX1gIH0pLFxuICAgICAgICAgICAgICAgIC4uLih0aGlzLnN1YnNjcmlwdGlvblByb3RvY29sID09PSAndHJhbnNwb3J0LXdzJyAmJiB7ICdYLUF1dGhvcml6YXRpb24nOiBgQmVhcmVyICR7dGhpcy5hdXRoU2VydmljZS5nZXRUb2tlbigpfWAgfSlcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBsaW5rOiBmcm9tKFthdXRoTGluaywgcmV0cnlMaW5rLCBlcnJvckxpbmssIGxpbmtdKSxcbiAgICAgICAgICAgIGNhY2hlOiBuZXcgSW5NZW1vcnlDYWNoZSh7IG1lcmdlOiB0cnVlIH0gYXMgSW5NZW1vcnlDYWNoZUNvbmZpZylcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjcmVhdGVHcmFwaFFMV3NMaW5rKG9wdGlvbnM6IHNlcnZpY2VPcHRpb25zKTogdm9pZCB7XG4gICAgICAgIHRoaXMud3NMaW5rID0gbmV3IEdyYXBoUUxXc0xpbmsoXG4gICAgICAgICAgICBjcmVhdGVDbGllbnQoe1xuICAgICAgICAgICAgICAgIHVybDogdGhpcy5jcmVhdGVXc1VybChvcHRpb25zLndzVXJsKSArICcvdjIvd3MvZ3JhcGhxbCcsXG4gICAgICAgICAgICAgICAgY29ubmVjdGlvblBhcmFtczogKCkgPT4gKHtcbiAgICAgICAgICAgICAgICAgICAgQXV0aG9yaXphdGlvbjogJ0JlYXJlciAnICsgdGhpcy5hdXRoU2VydmljZS5nZXRUb2tlbigpXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgb246IHtcbiAgICAgICAgICAgICAgICAgICAgY2xvc2VkOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnJlbW92ZUFwb2xsb0NsaWVudElmRXhpc3RzKG9wdGlvbnMuYXBvbGxvQ2xpZW50TmFtZSk7XG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIGVycm9yOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmFwb2xsby5yZW1vdmVDbGllbnQob3B0aW9ucy5hcG9sbG9DbGllbnROYW1lKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaW5pdFN1YnNjcmlwdGlvbnMob3B0aW9ucyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGxhenk6IHRydWVcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjcmVhdGVIdHRwTGlua0hhbmRsZXIob3B0aW9uczogc2VydmljZU9wdGlvbnMpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5odHRwTGlua0hhbmRsZXIgPSBvcHRpb25zLmh0dHBVcmxcbiAgICAgICAgICAgID8gdGhpcy5odHRwTGluay5jcmVhdGUoe1xuICAgICAgICAgICAgICAgICAgdXJpOiB0aGlzLmNyZWF0ZUh0dHBVcmwob3B0aW9ucy5odHRwVXJsKVxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgOiB1bmRlZmluZWQ7XG4gICAgfVxufVxuIl19
|
|
146
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2ViLXNvY2tldC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGliL3Byb2Nlc3Mtc2VydmljZXMtY2xvdWQvc3JjL2xpYi9zZXJ2aWNlcy93ZWItc29ja2V0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBRUgsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFlBQVksQ0FBQztBQUMxQyxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFbEUsT0FBTyxFQUdILElBQUksRUFDSixhQUFhLEVBSWIsS0FBSyxFQUVSLE1BQU0scUJBQXFCLENBQUM7QUFFN0IsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hDLE9BQU8sRUFBRSxRQUFRLEVBQW1CLE1BQU0scUJBQXFCLENBQUM7QUFDaEUsT0FBTyxFQUFFLElBQUksRUFBRSxpQkFBaUIsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUNsRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDcEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzdELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7Ozs7QUFZN0UsTUFBTSxPQUFPLGdCQUFnQjtJQU16QixZQUE2QixNQUFjLEVBQW1CLFFBQWtCLEVBQW1CLFdBQWtDO1FBQXhHLFdBQU0sR0FBTixNQUFNLENBQVE7UUFBbUIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUFtQixn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T0FBdUI7UUFDakQsSUFBSSxDQUFDLGVBQWUsR0FBRyxPQUFPLENBQUMsT0FBTztZQUNsQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUM7Z0JBQ2pCLEdBQUcsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUM7YUFDM0MsQ0FBQztZQUNKLENBQUMsQ0FBQyxTQUFTLENBQUM7SUFDcEIsQ0FBQzs4R0E3SFEsZ0JBQWdCO2tIQUFoQixnQkFBZ0IsY0FGYixNQUFNOzsyRkFFVCxnQkFBZ0I7a0JBSDVCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNSBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBjcmVhdGVDbGllbnQgfSBmcm9tICdncmFwaHFsLXdzJztcbmltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgR3JhcGhRTFdzTGluayB9IGZyb20gJ0BhcG9sbG8vY2xpZW50L2xpbmsvc3Vic2NyaXB0aW9ucyc7XG5pbXBvcnQgeyBXZWJTb2NrZXRMaW5rIH0gZnJvbSAnQGFwb2xsby9jbGllbnQvbGluay93cyc7XG5pbXBvcnQge1xuICAgIERlZmF1bHRDb250ZXh0LFxuICAgIEZldGNoUmVzdWx0LFxuICAgIGZyb20sXG4gICAgSW5NZW1vcnlDYWNoZSxcbiAgICBJbk1lbW9yeUNhY2hlQ29uZmlnLFxuICAgIE5leHRMaW5rLFxuICAgIE9wZXJhdGlvbixcbiAgICBzcGxpdCxcbiAgICBTdWJzY3JpcHRpb25PcHRpb25zXG59IGZyb20gJ0BhcG9sbG8vY2xpZW50L2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQXBvbGxvIH0gZnJvbSAnYXBvbGxvLWFuZ3VsYXInO1xuaW1wb3J0IHsgSHR0cExpbmssIEh0dHBMaW5rSGFuZGxlciB9IGZyb20gJ2Fwb2xsby1hbmd1bGFyL2h0dHAnO1xuaW1wb3J0IHsgS2luZCwgT3BlcmF0aW9uVHlwZU5vZGUgfSBmcm9tICdncmFwaHFsJztcbmltcG9ydCB7IG9uRXJyb3IgfSBmcm9tICdAYXBvbGxvL2NsaWVudC9saW5rL2Vycm9yJztcbmltcG9ydCB7IFJldHJ5TGluayB9IGZyb20gJ0BhcG9sbG8vY2xpZW50L2xpbmsvcmV0cnknO1xuaW1wb3J0IHsgZ2V0TWFpbkRlZmluaXRpb24gfSBmcm9tICdAYXBvbGxvL2NsaWVudC91dGlsaXRpZXMnO1xuaW1wb3J0IHsgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEFwcENvbmZpZ1NlcnZpY2UsIEF1dGhlbnRpY2F0aW9uU2VydmljZSB9IGZyb20gJ0BhbGZyZXNjby9hZGYtY29yZSc7XG5cbmludGVyZmFjZSBzZXJ2aWNlT3B0aW9ucyB7XG4gICAgYXBvbGxvQ2xpZW50TmFtZTogc3RyaW5nO1xuICAgIHdzVXJsOiBzdHJpbmc7XG4gICAgaHR0cFVybD86IHN0cmluZztcbiAgICBzdWJzY3JpcHRpb25PcHRpb25zOiBTdWJzY3JpcHRpb25PcHRpb25zO1xufVxuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFdlYlNvY2tldFNlcnZpY2Uge1xuICAgIHByaXZhdGUgYXBwQ29uZmlnU2VydmljZSA9IGluamVjdChBcHBDb25maWdTZXJ2aWNlKTtcbiAgICBwcml2YXRlIHN1YnNjcmlwdGlvblByb3RvY29sID0gJ2dyYXBocWwtd3MnO1xuICAgIHByaXZhdGUgd3NMaW5rOiBHcmFwaFFMV3NMaW5rIHwgV2ViU29ja2V0TGluaztcbiAgICBwcml2YXRlIGh0dHBMaW5rSGFuZGxlcjogSHR0cExpbmtIYW5kbGVyO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBhcG9sbG86IEFwb2xsbywgcHJpdmF0ZSByZWFkb25seSBodHRwTGluazogSHR0cExpbmssIHByaXZhdGUgcmVhZG9ubHkgYXV0aFNlcnZpY2U6IEF1dGhlbnRpY2F0aW9uU2VydmljZSkge31cblxuICAgIHB1YmxpYyBnZXRTdWJzY3JpcHRpb248VD4ob3B0aW9uczogc2VydmljZU9wdGlvbnMpOiBPYnNlcnZhYmxlPEZldGNoUmVzdWx0PFQ+PiB7XG4gICAgICAgIGNvbnN0IHsgYXBvbGxvQ2xpZW50TmFtZSwgc3Vic2NyaXB0aW9uT3B0aW9ucyB9ID0gb3B0aW9ucztcbiAgICAgICAgdGhpcy5hdXRoU2VydmljZS5vbkxvZ291dC5waXBlKHRha2UoMSkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy5hcG9sbG8udXNlKGFwb2xsb0NsaWVudE5hbWUpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5hcG9sbG8ucmVtb3ZlQ2xpZW50KGFwb2xsb0NsaWVudE5hbWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICBpZiAodGhpcy5hcG9sbG8udXNlKGFwb2xsb0NsaWVudE5hbWUpID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRoaXMuaW5pdFN1YnNjcmlwdGlvbnMob3B0aW9ucyk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuYXBvbGxvLnVzZShhcG9sbG9DbGllbnROYW1lKS5zdWJzY3JpYmU8VD4oeyBlcnJvclBvbGljeTogJ2FsbCcsIC4uLnN1YnNjcmlwdGlvbk9wdGlvbnMgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgY29udGV4dFJvb3QoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmFwcENvbmZpZ1NlcnZpY2UuZ2V0KCdicG1Ib3N0JywgJycpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY3JlYXRlV3NVcmwoc2VydmljZVVybDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgdXJsID0gbmV3IFVSTChzZXJ2aWNlVXJsLCB0aGlzLmNvbnRleHRSb290KTtcbiAgICAgICAgY29uc3QgcHJvdG9jb2wgPSB1cmwucHJvdG9jb2wgPT09ICdodHRwczonID8gJ3dzczonIDogJ3dzOic7XG4gICAgICAgIHVybC5wcm90b2NvbCA9IHByb3RvY29sO1xuXG4gICAgICAgIHJldHVybiB1cmwuaHJlZjtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNyZWF0ZUh0dHBVcmwoc2VydmljZVVybDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgdXJsID0gbmV3IFVSTChzZXJ2aWNlVXJsLCB0aGlzLmNvbnRleHRSb290KTtcblxuICAgICAgICByZXR1cm4gdXJsLmhyZWY7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpbml0U3Vic2NyaXB0aW9ucyhvcHRpb25zOiBzZXJ2aWNlT3B0aW9ucyk6IHZvaWQge1xuICAgICAgICB0aGlzLmNyZWF0ZUdyYXBoUUxXc0xpbmsob3B0aW9ucyk7XG5cbiAgICAgICAgdGhpcy5jcmVhdGVIdHRwTGlua0hhbmRsZXIob3B0aW9ucyk7XG5cbiAgICAgICAgY29uc3QgbGluayA9IHNwbGl0KFxuICAgICAgICAgICAgKHsgcXVlcnkgfSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGRlZmluaXRpb24gPSBnZXRNYWluRGVmaW5pdGlvbihxdWVyeSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGRlZmluaXRpb24ua2luZCA9PT0gS2luZC5PUEVSQVRJT05fREVGSU5JVElPTiAmJiBkZWZpbml0aW9uLm9wZXJhdGlvbiA9PT0gT3BlcmF0aW9uVHlwZU5vZGUuU1VCU0NSSVBUSU9OO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHRoaXMud3NMaW5rLFxuICAgICAgICAgICAgdGhpcy5odHRwTGlua0hhbmRsZXJcbiAgICAgICAgKTtcblxuICAgICAgICBjb25zdCBhdXRoTGluayA9IChvcGVyYXRpb246IE9wZXJhdGlvbiwgZm9yd2FyZDogTmV4dExpbmspID0+IHtcbiAgICAgICAgICAgIG9wZXJhdGlvbi5zZXRDb250ZXh0KCh7IGhlYWRlcnMgfTogRGVmYXVsdENvbnRleHQpID0+ICh7XG4gICAgICAgICAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICAgICAgICAgICAuLi5oZWFkZXJzLFxuICAgICAgICAgICAgICAgICAgICAuLi4odGhpcy5zdWJzY3JpcHRpb25Qcm90b2NvbCA9PT0gJ2dyYXBocWwtd3MnICYmIHsgQXV0aG9yaXphdGlvbjogYEJlYXJlciAke3RoaXMuYXV0aFNlcnZpY2UuZ2V0VG9rZW4oKX1gIH0pLFxuICAgICAgICAgICAgICAgICAgICAuLi4odGhpcy5zdWJzY3JpcHRpb25Qcm90b2NvbCA9PT0gJ3RyYW5zcG9ydC13cycgJiYgeyAnWC1BdXRob3JpemF0aW9uJzogYEJlYXJlciAke3RoaXMuYXV0aFNlcnZpY2UuZ2V0VG9rZW4oKX1gIH0pXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSkpO1xuICAgICAgICAgICAgcmV0dXJuIGZvcndhcmQob3BlcmF0aW9uKTtcbiAgICAgICAgfTtcblxuICAgICAgICBjb25zdCBlcnJvckxpbmsgPSBvbkVycm9yKCh7IGdyYXBoUUxFcnJvcnMsIG5ldHdvcmtFcnJvciwgb3BlcmF0aW9uLCBmb3J3YXJkIH0pID0+IHtcbiAgICAgICAgICAgIGlmIChncmFwaFFMRXJyb3JzKSB7XG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCBlcnJvciBvZiBncmFwaFFMRXJyb3JzKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChlcnJvci5leHRlbnNpb25zICYmIGVycm9yLmV4dGVuc2lvbnNbJ2NvZGUnXSA9PT0gJ1VOQVVUSEVOVElDQVRFRCcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGF1dGhMaW5rKG9wZXJhdGlvbiwgZm9yd2FyZCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChuZXR3b3JrRXJyb3IpIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKGBbTmV0d29yayBlcnJvcl06ICR7bmV0d29ya0Vycm9yfWApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICBjb25zdCByZXRyeUxpbmsgPSBuZXcgUmV0cnlMaW5rKHtcbiAgICAgICAgICAgIGRlbGF5OiB7XG4gICAgICAgICAgICAgICAgaW5pdGlhbDogMzAwLFxuICAgICAgICAgICAgICAgIG1heDogTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZLFxuICAgICAgICAgICAgICAgIGppdHRlcjogdHJ1ZVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGF0dGVtcHRzOiB7XG4gICAgICAgICAgICAgICAgbWF4OiA1LFxuICAgICAgICAgICAgICAgIHJldHJ5SWY6IChlcnJvcikgPT4gISFlcnJvclxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmFwb2xsby5jcmVhdGVOYW1lZChvcHRpb25zLmFwb2xsb0NsaWVudE5hbWUsIHtcbiAgICAgICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAgICAgICAuLi4odGhpcy5zdWJzY3JpcHRpb25Qcm90b2NvbCA9PT0gJ2dyYXBocWwtd3MnICYmIHsgQXV0aG9yaXphdGlvbjogYEJlYXJlciAke3RoaXMuYXV0aFNlcnZpY2UuZ2V0VG9rZW4oKX1gIH0pLFxuICAgICAgICAgICAgICAgIC4uLih0aGlzLnN1YnNjcmlwdGlvblByb3RvY29sID09PSAndHJhbnNwb3J0LXdzJyAmJiB7ICdYLUF1dGhvcml6YXRpb24nOiBgQmVhcmVyICR7dGhpcy5hdXRoU2VydmljZS5nZXRUb2tlbigpfWAgfSlcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBsaW5rOiBmcm9tKFthdXRoTGluaywgcmV0cnlMaW5rLCBlcnJvckxpbmssIGxpbmtdKSxcbiAgICAgICAgICAgIGNhY2hlOiBuZXcgSW5NZW1vcnlDYWNoZSh7IG1lcmdlOiB0cnVlIH0gYXMgSW5NZW1vcnlDYWNoZUNvbmZpZylcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjcmVhdGVHcmFwaFFMV3NMaW5rKG9wdGlvbnM6IHNlcnZpY2VPcHRpb25zKTogdm9pZCB7XG4gICAgICAgIHRoaXMud3NMaW5rID0gbmV3IEdyYXBoUUxXc0xpbmsoXG4gICAgICAgICAgICBjcmVhdGVDbGllbnQoe1xuICAgICAgICAgICAgICAgIHVybDogdGhpcy5jcmVhdGVXc1VybChvcHRpb25zLndzVXJsKSArICcvdjIvd3MvZ3JhcGhxbCcsXG4gICAgICAgICAgICAgICAgY29ubmVjdGlvblBhcmFtczoge1xuICAgICAgICAgICAgICAgICAgICBBdXRob3JpemF0aW9uOiAnQmVhcmVyICcgKyB0aGlzLmF1dGhTZXJ2aWNlLmdldFRva2VuKClcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIG9uOiB7XG4gICAgICAgICAgICAgICAgICAgIGVycm9yOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmFwb2xsby5yZW1vdmVDbGllbnQob3B0aW9ucy5hcG9sbG9DbGllbnROYW1lKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaW5pdFN1YnNjcmlwdGlvbnMob3B0aW9ucyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGxhenk6IHRydWVcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjcmVhdGVIdHRwTGlua0hhbmRsZXIob3B0aW9uczogc2VydmljZU9wdGlvbnMpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5odHRwTGlua0hhbmRsZXIgPSBvcHRpb25zLmh0dHBVcmxcbiAgICAgICAgICAgID8gdGhpcy5odHRwTGluay5jcmVhdGUoe1xuICAgICAgICAgICAgICAgICAgdXJpOiB0aGlzLmNyZWF0ZUh0dHBVcmwob3B0aW9ucy5odHRwVXJsKVxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgOiB1bmRlZmluZWQ7XG4gICAgfVxufVxuIl19
|
|
@@ -2259,11 +2259,6 @@ class WebSocketService {
|
|
|
2259
2259
|
}
|
|
2260
2260
|
return this.apollo.use(apolloClientName).subscribe({ errorPolicy: 'all', ...subscriptionOptions });
|
|
2261
2261
|
}
|
|
2262
|
-
removeApolloClientIfExists(apolloClientName) {
|
|
2263
|
-
if (this.apollo.use(apolloClientName)) {
|
|
2264
|
-
this.apollo.removeClient(apolloClientName);
|
|
2265
|
-
}
|
|
2266
|
-
}
|
|
2267
2262
|
get contextRoot() {
|
|
2268
2263
|
return this.appConfigService.get('bpmHost', '');
|
|
2269
2264
|
}
|
|
@@ -2312,18 +2307,9 @@ class WebSocketService {
|
|
|
2312
2307
|
max: Number.POSITIVE_INFINITY,
|
|
2313
2308
|
jitter: true
|
|
2314
2309
|
},
|
|
2315
|
-
attempts:
|
|
2316
|
-
|
|
2317
|
-
|
|
2318
|
-
}
|
|
2319
|
-
const isUnauthorizedError = (Array.isArray(error) &&
|
|
2320
|
-
error.some((err) => err?.extensions?.code === 'UNAUTHORIZED' ||
|
|
2321
|
-
err?.message?.includes('4401') ||
|
|
2322
|
-
err?.message?.toLowerCase().includes('unauthorized'))) ||
|
|
2323
|
-
(typeof error === 'string' && (error.includes('4401') || error.toLowerCase().includes('unauthorized'))) ||
|
|
2324
|
-
(error?.message && (error.message.includes('4401') || error.message.toLowerCase().includes('unauthorized')));
|
|
2325
|
-
const shouldRetry = isUnauthorizedError ? this.authService.isLoggedIn() : count < 5;
|
|
2326
|
-
return shouldRetry;
|
|
2310
|
+
attempts: {
|
|
2311
|
+
max: 5,
|
|
2312
|
+
retryIf: (error) => !!error
|
|
2327
2313
|
}
|
|
2328
2314
|
});
|
|
2329
2315
|
this.apollo.createNamed(options.apolloClientName, {
|
|
@@ -2338,13 +2324,10 @@ class WebSocketService {
|
|
|
2338
2324
|
createGraphQLWsLink(options) {
|
|
2339
2325
|
this.wsLink = new GraphQLWsLink(createClient({
|
|
2340
2326
|
url: this.createWsUrl(options.wsUrl) + '/v2/ws/graphql',
|
|
2341
|
-
connectionParams:
|
|
2327
|
+
connectionParams: {
|
|
2342
2328
|
Authorization: 'Bearer ' + this.authService.getToken()
|
|
2343
|
-
}
|
|
2329
|
+
},
|
|
2344
2330
|
on: {
|
|
2345
|
-
closed: () => {
|
|
2346
|
-
this.removeApolloClientIfExists(options.apolloClientName);
|
|
2347
|
-
},
|
|
2348
2331
|
error: () => {
|
|
2349
2332
|
this.apollo.removeClient(options.apolloClientName);
|
|
2350
2333
|
this.initSubscriptions(options);
|