@webex/webex-core 3.8.0 → 3.8.1-next.1
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/dist/index.js +43 -0
- package/dist/index.js.map +1 -1
- package/dist/interceptors/redirect.js +18 -0
- package/dist/interceptors/redirect.js.map +1 -1
- package/dist/lib/batcher.js +1 -1
- package/dist/lib/credentials/credentials.js +1 -1
- package/dist/lib/credentials/token.js +1 -1
- package/dist/lib/services/services.js +1 -1
- package/dist/lib/services-v2/constants.js +17 -0
- package/dist/lib/services-v2/constants.js.map +1 -0
- package/dist/lib/services-v2/index.js +58 -0
- package/dist/lib/services-v2/index.js.map +1 -0
- package/dist/lib/services-v2/interceptors/hostmap.js +64 -0
- package/dist/lib/services-v2/interceptors/hostmap.js.map +1 -0
- package/dist/lib/services-v2/interceptors/server-error.js +77 -0
- package/dist/lib/services-v2/interceptors/server-error.js.map +1 -0
- package/dist/lib/services-v2/interceptors/service.js +137 -0
- package/dist/lib/services-v2/interceptors/service.js.map +1 -0
- package/dist/lib/services-v2/metrics.js +12 -0
- package/dist/lib/services-v2/metrics.js.map +1 -0
- package/dist/lib/services-v2/service-catalog.js +346 -0
- package/dist/lib/services-v2/service-catalog.js.map +1 -0
- package/dist/lib/services-v2/service-detail.js +94 -0
- package/dist/lib/services-v2/service-detail.js.map +1 -0
- package/dist/lib/services-v2/service-fed-ramp.js +13 -0
- package/dist/lib/services-v2/service-fed-ramp.js.map +1 -0
- package/dist/lib/services-v2/services-v2.js +985 -0
- package/dist/lib/services-v2/services-v2.js.map +1 -0
- package/dist/lib/services-v2/types.js +7 -0
- package/dist/lib/services-v2/types.js.map +1 -0
- package/dist/plugins/logger.js +1 -1
- package/dist/webex-core.js +2 -2
- package/dist/webex-core.js.map +1 -1
- package/package.json +13 -13
- package/src/index.js +10 -0
- package/src/interceptors/redirect.js +28 -0
- package/src/lib/services-v2/README.md +3 -0
- package/src/lib/services-v2/constants.ts +21 -0
- package/src/lib/services-v2/index.ts +23 -0
- package/src/lib/services-v2/interceptors/hostmap.js +36 -0
- package/src/lib/services-v2/interceptors/server-error.js +48 -0
- package/src/lib/services-v2/interceptors/service.js +101 -0
- package/src/lib/services-v2/metrics.js +4 -0
- package/src/lib/services-v2/service-catalog.ts +360 -0
- package/src/lib/services-v2/service-detail.ts +97 -0
- package/src/lib/services-v2/service-fed-ramp.ts +5 -0
- package/src/lib/services-v2/services-v2.js +988 -0
- package/src/lib/services-v2/types.ts +13 -0
- package/test/fixtures/host-catalog-v2.ts +249 -0
- package/test/integration/spec/services/services.js +12 -10
- package/test/unit/spec/interceptors/redirect.js +72 -0
- package/test/unit/spec/services-v2/service-catalog.ts +288 -0
- package/test/unit/spec/services-v2/service-detail.ts +147 -0
- package/test/unit/spec/services-v2/services-v2.ts +562 -0
package/dist/index.js
CHANGED
|
@@ -44,6 +44,12 @@ _Object$defineProperty(exports, "HostMapInterceptor", {
|
|
|
44
44
|
return _services.HostMapInterceptor;
|
|
45
45
|
}
|
|
46
46
|
});
|
|
47
|
+
_Object$defineProperty(exports, "HostMapInterceptorV2", {
|
|
48
|
+
enumerable: true,
|
|
49
|
+
get: function get() {
|
|
50
|
+
return _servicesV.HostMapInterceptorV2;
|
|
51
|
+
}
|
|
52
|
+
});
|
|
47
53
|
_Object$defineProperty(exports, "MemoryStoreAdapter", {
|
|
48
54
|
enumerable: true,
|
|
49
55
|
get: function get() {
|
|
@@ -116,12 +122,30 @@ _Object$defineProperty(exports, "ServerErrorInterceptor", {
|
|
|
116
122
|
return _services.ServerErrorInterceptor;
|
|
117
123
|
}
|
|
118
124
|
});
|
|
125
|
+
_Object$defineProperty(exports, "ServerErrorInterceptorV2", {
|
|
126
|
+
enumerable: true,
|
|
127
|
+
get: function get() {
|
|
128
|
+
return _servicesV.ServerErrorInterceptorV2;
|
|
129
|
+
}
|
|
130
|
+
});
|
|
119
131
|
_Object$defineProperty(exports, "ServiceCatalog", {
|
|
120
132
|
enumerable: true,
|
|
121
133
|
get: function get() {
|
|
122
134
|
return _services.ServiceCatalog;
|
|
123
135
|
}
|
|
124
136
|
});
|
|
137
|
+
_Object$defineProperty(exports, "ServiceCatalogV2", {
|
|
138
|
+
enumerable: true,
|
|
139
|
+
get: function get() {
|
|
140
|
+
return _servicesV.ServiceCatalogV2;
|
|
141
|
+
}
|
|
142
|
+
});
|
|
143
|
+
_Object$defineProperty(exports, "ServiceDetail", {
|
|
144
|
+
enumerable: true,
|
|
145
|
+
get: function get() {
|
|
146
|
+
return _servicesV.ServiceDetail;
|
|
147
|
+
}
|
|
148
|
+
});
|
|
125
149
|
_Object$defineProperty(exports, "ServiceHost", {
|
|
126
150
|
enumerable: true,
|
|
127
151
|
get: function get() {
|
|
@@ -134,6 +158,12 @@ _Object$defineProperty(exports, "ServiceInterceptor", {
|
|
|
134
158
|
return _services.ServiceInterceptor;
|
|
135
159
|
}
|
|
136
160
|
});
|
|
161
|
+
_Object$defineProperty(exports, "ServiceInterceptorV2", {
|
|
162
|
+
enumerable: true,
|
|
163
|
+
get: function get() {
|
|
164
|
+
return _servicesV.ServiceInterceptorV2;
|
|
165
|
+
}
|
|
166
|
+
});
|
|
137
167
|
_Object$defineProperty(exports, "ServiceRegistry", {
|
|
138
168
|
enumerable: true,
|
|
139
169
|
get: function get() {
|
|
@@ -158,6 +188,12 @@ _Object$defineProperty(exports, "Services", {
|
|
|
158
188
|
return _services.Services;
|
|
159
189
|
}
|
|
160
190
|
});
|
|
191
|
+
_Object$defineProperty(exports, "ServicesV2", {
|
|
192
|
+
enumerable: true,
|
|
193
|
+
get: function get() {
|
|
194
|
+
return _servicesV.ServicesV2;
|
|
195
|
+
}
|
|
196
|
+
});
|
|
161
197
|
_Object$defineProperty(exports, "StatelessWebexPlugin", {
|
|
162
198
|
enumerable: true,
|
|
163
199
|
get: function get() {
|
|
@@ -266,6 +302,12 @@ _Object$defineProperty(exports, "serviceConstants", {
|
|
|
266
302
|
return _services.constants;
|
|
267
303
|
}
|
|
268
304
|
});
|
|
305
|
+
_Object$defineProperty(exports, "serviceConstantsV2", {
|
|
306
|
+
enumerable: true,
|
|
307
|
+
get: function get() {
|
|
308
|
+
return _servicesV.constants;
|
|
309
|
+
}
|
|
310
|
+
});
|
|
269
311
|
_Object$defineProperty(exports, "sortScope", {
|
|
270
312
|
enumerable: true,
|
|
271
313
|
get: function get() {
|
|
@@ -287,6 +329,7 @@ _Object$defineProperty(exports, "webexTrackingIdSequenceNumbers", {
|
|
|
287
329
|
require("./plugins/logger");
|
|
288
330
|
var _credentials = require("./lib/credentials");
|
|
289
331
|
var _services = require("./lib/services");
|
|
332
|
+
var _servicesV = require("./lib/services-v2");
|
|
290
333
|
var _storage = require("./lib/storage");
|
|
291
334
|
var _webexCore = _interopRequireWildcard(require("./webex-core"));
|
|
292
335
|
var _webexHttpError = _interopRequireDefault(require("./lib/webex-http-error"));
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["require","_credentials","_services","_storage","_webexCore","_interopRequireWildcard","_webexHttpError","_interopRequireDefault","_statelessWebexPlugin","_webexPlugin","_auth","_networkTiming","_payloadTransformer","_redirect","_responseLogger","_requestEvent","_requestLogger","_requestTiming","_userAgent","_webexTrackingId","_webexUserAgent","_rateLimit","_embargo","_defaultOptions","_batcher","_page","_config","_getRequireWildcardCache","e","_WeakMap","r","t","__esModule","_typeof","default","has","get","n","__proto__","a","_Object$defineProperty","_Object$getOwnPropertyDescriptor","u","Object","prototype","hasOwnProperty","call","i","set"],"sources":["index.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n *\n * Services is currently a part of webex-core due to how the contents of\n * the original internal-plugin-services needed to be accessed when webex-core\n * is initialized. As a plugin outside of webex-core, it would initialize after\n * credentials, causing all requests prior to its initialization to fail\n * federation requirements, and instead send requests to the environmentally-\n * assigned urls.\n */\n\nimport './plugins/logger';\nimport './lib/credentials';\nimport './lib/services';\n\nexport {Credentials, filterScope, grantErrors, sortScope, Token} from './lib/credentials';\n\nexport {\n constants as serviceConstants,\n ServiceCatalog,\n ServiceRegistry,\n ServiceState,\n ServiceInterceptor,\n ServerErrorInterceptor,\n Services,\n ServiceHost,\n ServiceUrl,\n HostMapInterceptor,\n} from './lib/services';\n\nexport {\n makeWebexStore,\n makeWebexPluginStore,\n MemoryStoreAdapter,\n NotFoundError,\n persist,\n StorageError,\n waitForValue,\n} from './lib/storage';\n\nexport {default, registerPlugin, registerInternalPlugin} from './webex-core';\n\nexport {default as WebexHttpError} from './lib/webex-http-error';\nexport {default as StatelessWebexPlugin} from './lib/stateless-webex-plugin';\nexport {default as WebexPlugin} from './lib/webex-plugin';\nexport {default as AuthInterceptor} from './interceptors/auth';\nexport {default as NetworkTimingInterceptor} from './interceptors/network-timing';\nexport {default as PayloadTransformerInterceptor} from './interceptors/payload-transformer';\nexport {default as RedirectInterceptor} from './interceptors/redirect';\nexport {default as ResponseLoggerInterceptor} from './interceptors/response-logger';\nexport {default as RequestEventInterceptor} from './interceptors/request-event';\nexport {default as RequestLoggerInterceptor} from './interceptors/request-logger';\nexport {default as RequestTimingInterceptor} from './interceptors/request-timing';\nexport {default as UserAgentInterceptor} from './interceptors/user-agent';\nexport {default as WebexTrackingIdInterceptor} from './interceptors/webex-tracking-id';\nexport {sequenceNumbers as webexTrackingIdSequenceNumbers} from './interceptors/webex-tracking-id';\nexport {default as WebexUserAgentInterceptor} from './interceptors/webex-user-agent';\nexport {default as RateLimitInterceptor} from './interceptors/rate-limit';\nexport {default as EmbargoInterceptor} from './interceptors/embargo';\nexport {default as DefaultOptionsInterceptor} from './interceptors/default-options';\n\nexport {default as Batcher} from './lib/batcher';\nexport {default as Page} from './lib/page';\nexport {default as config} from './config';\n"],"mappings":"
|
|
1
|
+
{"version":3,"names":["require","_credentials","_services","_servicesV","_storage","_webexCore","_interopRequireWildcard","_webexHttpError","_interopRequireDefault","_statelessWebexPlugin","_webexPlugin","_auth","_networkTiming","_payloadTransformer","_redirect","_responseLogger","_requestEvent","_requestLogger","_requestTiming","_userAgent","_webexTrackingId","_webexUserAgent","_rateLimit","_embargo","_defaultOptions","_batcher","_page","_config","_getRequireWildcardCache","e","_WeakMap","r","t","__esModule","_typeof","default","has","get","n","__proto__","a","_Object$defineProperty","_Object$getOwnPropertyDescriptor","u","Object","prototype","hasOwnProperty","call","i","set"],"sources":["index.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n *\n * Services is currently a part of webex-core due to how the contents of\n * the original internal-plugin-services needed to be accessed when webex-core\n * is initialized. As a plugin outside of webex-core, it would initialize after\n * credentials, causing all requests prior to its initialization to fail\n * federation requirements, and instead send requests to the environmentally-\n * assigned urls.\n */\n\nimport './plugins/logger';\nimport './lib/credentials';\nimport './lib/services';\n\nexport {Credentials, filterScope, grantErrors, sortScope, Token} from './lib/credentials';\n\nexport {\n constants as serviceConstants,\n ServiceCatalog,\n ServiceRegistry,\n ServiceState,\n ServiceInterceptor,\n ServerErrorInterceptor,\n Services,\n ServiceHost,\n ServiceUrl,\n HostMapInterceptor,\n} from './lib/services';\n\nexport {\n constants as serviceConstantsV2,\n ServiceCatalogV2,\n ServiceInterceptorV2,\n ServerErrorInterceptorV2,\n ServicesV2,\n ServiceDetail,\n HostMapInterceptorV2,\n} from './lib/services-v2';\n\nexport {\n makeWebexStore,\n makeWebexPluginStore,\n MemoryStoreAdapter,\n NotFoundError,\n persist,\n StorageError,\n waitForValue,\n} from './lib/storage';\n\nexport {default, registerPlugin, registerInternalPlugin} from './webex-core';\n\nexport {default as WebexHttpError} from './lib/webex-http-error';\nexport {default as StatelessWebexPlugin} from './lib/stateless-webex-plugin';\nexport {default as WebexPlugin} from './lib/webex-plugin';\nexport {default as AuthInterceptor} from './interceptors/auth';\nexport {default as NetworkTimingInterceptor} from './interceptors/network-timing';\nexport {default as PayloadTransformerInterceptor} from './interceptors/payload-transformer';\nexport {default as RedirectInterceptor} from './interceptors/redirect';\nexport {default as ResponseLoggerInterceptor} from './interceptors/response-logger';\nexport {default as RequestEventInterceptor} from './interceptors/request-event';\nexport {default as RequestLoggerInterceptor} from './interceptors/request-logger';\nexport {default as RequestTimingInterceptor} from './interceptors/request-timing';\nexport {default as UserAgentInterceptor} from './interceptors/user-agent';\nexport {default as WebexTrackingIdInterceptor} from './interceptors/webex-tracking-id';\nexport {sequenceNumbers as webexTrackingIdSequenceNumbers} from './interceptors/webex-tracking-id';\nexport {default as WebexUserAgentInterceptor} from './interceptors/webex-user-agent';\nexport {default as RateLimitInterceptor} from './interceptors/rate-limit';\nexport {default as EmbargoInterceptor} from './interceptors/embargo';\nexport {default as DefaultOptionsInterceptor} from './interceptors/default-options';\n\nexport {default as Batcher} from './lib/batcher';\nexport {default as Page} from './lib/page';\nexport {default as config} from './config';\n"],"mappings":"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"}
|
|
@@ -23,6 +23,7 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !_R
|
|
|
23
23
|
var requestHeaderName = 'cisco-no-http-redirect';
|
|
24
24
|
var responseHeaderName = 'cisco-location';
|
|
25
25
|
var LOCUS_REDIRECT_ERROR = 2000002;
|
|
26
|
+
var APPAPI_REDIRECT_ERROR = 404100;
|
|
26
27
|
|
|
27
28
|
/**
|
|
28
29
|
* @class
|
|
@@ -98,6 +99,23 @@ var RedirectInterceptor = exports.default = /*#__PURE__*/function (_Interceptor)
|
|
|
98
99
|
return _promise.default.reject(new Error('Maximum redirects exceeded'));
|
|
99
100
|
}
|
|
100
101
|
return this.webex.request(options);
|
|
102
|
+
} else if (response.headers && response.body && response.body.code === APPAPI_REDIRECT_ERROR && response.body.data && response.body.data.siteFullUrl) {
|
|
103
|
+
options = (0, _lodash.clone)(options);
|
|
104
|
+
this.webex.logger.warn('redirect: url redirects needed from', options.uri);
|
|
105
|
+
if (response.options && response.options.qs) {
|
|
106
|
+
// for POST requests
|
|
107
|
+
var _newUrl = response.body.data.siteFullUrl.split('?');
|
|
108
|
+
options.uri = _newUrl[0]; // params are already present in the qs
|
|
109
|
+
} else {
|
|
110
|
+
// for GET requests
|
|
111
|
+
options.uri = options.uri.replace(/(?<=https:\/\/)[^/]+/, response.body.data.siteFullUrl);
|
|
112
|
+
}
|
|
113
|
+
this.webex.logger.warn('redirect: url redirects needed to', options.uri);
|
|
114
|
+
options.$redirectCount += 1;
|
|
115
|
+
if (options.$redirectCount > this.webex.config.maxLocusRedirects) {
|
|
116
|
+
return _promise.default.reject(new Error('Maximum redirects exceeded'));
|
|
117
|
+
}
|
|
118
|
+
return this.webex.request(options);
|
|
101
119
|
}
|
|
102
120
|
/* eslint-enable no-else-return */
|
|
103
121
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_lodash","require","_httpCore","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","default","result","NewTarget","constructor","_Reflect$construct","arguments","apply","_possibleConstructorReturn2","Reflect","sham","Proxy","Boolean","prototype","valueOf","call","e","requestHeaderName","responseHeaderName","LOCUS_REDIRECT_ERROR","RedirectInterceptor","exports","_Interceptor","_inherits2","_super","_classCallCheck2","_createClass2","key","value","onRequest","options","uri","includes","webex","config","credentials","samlUrl","tokenUrl","authorizeUrl","headers","_deleteProperty","$redirectCount","onResponse","response","clone","maxAppLevelRedirects","_promise","reject","Error","request","body","errorCode","location","logger","warn","qs","newUrl","split","maxLocusRedirects","create","Interceptor"],"sources":["redirect.js"],"sourcesContent":["/* eslint-disable prefer-destructuring */\n\n/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport {clone} from 'lodash';\nimport {Interceptor} from '@webex/http-core';\n\nconst requestHeaderName = 'cisco-no-http-redirect';\nconst responseHeaderName = 'cisco-location';\nconst LOCUS_REDIRECT_ERROR = 2000002;\n\n/**\n * @class\n */\nexport default class RedirectInterceptor extends Interceptor {\n /**\n * @returns {RedirectInterceptor}\n */\n static create() {\n return new RedirectInterceptor({webex: this});\n }\n\n /**\n * @see Interceptor#onRequest\n * @param {Object} options\n * @returns {Object}\n */\n onRequest(options) {\n if (options && options.uri && typeof options.uri === 'string') {\n if (\n options.uri.includes('https://idbroker') ||\n options.uri.includes(this.webex.config.credentials.samlUrl) ||\n options.uri.includes(this.webex.config.credentials.tokenUrl) ||\n options.uri.includes(this.webex.config.credentials.authorizeUrl)\n ) {\n return options;\n }\n }\n\n // If cisco-no-http-redirect is already set, don't overwrite it\n if (requestHeaderName in options.headers) {\n // If cisco-no-http-redirect is set to null, false, or undefined, delete\n // it to prevent a CORS preflight.\n if (!options.headers[requestHeaderName]) {\n Reflect.deleteProperty(options.headers, requestHeaderName);\n }\n\n return options;\n }\n options.headers[requestHeaderName] = true;\n options.$redirectCount = options.$redirectCount || 0;\n\n return options;\n }\n\n /**\n * @see Interceptor#onResponse\n * @param {Object} options\n * @param {HttpResponse} response\n * @returns {Object}\n */\n onResponse(options, response) {\n /* eslint-disable no-else-return */\n if (response.headers && response.headers[responseHeaderName]) {\n options = clone(options);\n options.uri = response.headers[responseHeaderName];\n options.$redirectCount += 1;\n if (options.$redirectCount > this.webex.config.maxAppLevelRedirects) {\n return Promise.reject(new Error('Maximum redirects exceeded'));\n }\n\n return this.webex.request(options);\n } else if (\n response.headers &&\n response.body &&\n response.body.errorCode === LOCUS_REDIRECT_ERROR &&\n response.body.location\n ) {\n options = clone(options);\n\n this.webex.logger.warn('redirect: url redirects needed from', options.uri);\n if (response.options && response.options.qs) {\n // for POST requests\n const newUrl = response.body.location.split('?');\n\n options.uri = newUrl[0]; // params are already present in the qs\n } else {\n // for GET requests\n options.uri = response.body.location;\n }\n\n this.webex.logger.warn('redirect: url redirects needed to', options.uri);\n options.$redirectCount += 1;\n if (options.$redirectCount > this.webex.config.maxLocusRedirects) {\n return Promise.reject(new Error('Maximum redirects exceeded'));\n }\n\n return this.webex.request(options);\n }\n /* eslint-enable no-else-return */\n\n return response;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAMA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AAA6C,SAAAE,aAAAC,OAAA,QAAAC,yBAAA,GAAAC,yBAAA,oBAAAC,qBAAA,QAAAC,KAAA,OAAAC,gBAAA,CAAAC,OAAA,EAAAN,OAAA,GAAAO,MAAA,MAAAN,yBAAA,QAAAO,SAAA,OAAAH,gBAAA,CAAAC,OAAA,QAAAG,WAAA,EAAAF,MAAA,GAAAG,kBAAA,CAAAN,KAAA,EAAAO,SAAA,EAAAH,SAAA,YAAAD,MAAA,GAAAH,KAAA,CAAAQ,KAAA,OAAAD,SAAA,gBAAAE,2BAAA,CAAAP,OAAA,QAAAC,MAAA;AAAA,SAAAL,0BAAA,eAAAY,OAAA,qBAAAJ,kBAAA,oBAAAA,kBAAA,CAAAK,IAAA,2BAAAC,KAAA,oCAAAC,OAAA,CAAAC,SAAA,CAAAC,OAAA,CAAAC,IAAA,CAAAV,kBAAA,CAAAO,OAAA,8CAAAI,CAAA,sBAP7C,0CAEA;AACA;AACA;AAKA,IAAMC,iBAAiB,GAAG,wBAAwB;AAClD,IAAMC,kBAAkB,GAAG,gBAAgB;AAC3C,IAAMC,oBAAoB,GAAG,OAAO;;AAEpC;AACA;AACA;AAFA,IAGqBC,mBAAmB,GAAAC,OAAA,
|
|
1
|
+
{"version":3,"names":["_lodash","require","_httpCore","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","default","result","NewTarget","constructor","_Reflect$construct","arguments","apply","_possibleConstructorReturn2","Reflect","sham","Proxy","Boolean","prototype","valueOf","call","e","requestHeaderName","responseHeaderName","LOCUS_REDIRECT_ERROR","APPAPI_REDIRECT_ERROR","RedirectInterceptor","exports","_Interceptor","_inherits2","_super","_classCallCheck2","_createClass2","key","value","onRequest","options","uri","includes","webex","config","credentials","samlUrl","tokenUrl","authorizeUrl","headers","_deleteProperty","$redirectCount","onResponse","response","clone","maxAppLevelRedirects","_promise","reject","Error","request","body","errorCode","location","logger","warn","qs","newUrl","split","maxLocusRedirects","code","data","siteFullUrl","replace","create","Interceptor"],"sources":["redirect.js"],"sourcesContent":["/* eslint-disable prefer-destructuring */\n\n/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport {clone} from 'lodash';\nimport {Interceptor} from '@webex/http-core';\n\nconst requestHeaderName = 'cisco-no-http-redirect';\nconst responseHeaderName = 'cisco-location';\nconst LOCUS_REDIRECT_ERROR = 2000002;\nconst APPAPI_REDIRECT_ERROR = 404100;\n\n/**\n * @class\n */\nexport default class RedirectInterceptor extends Interceptor {\n /**\n * @returns {RedirectInterceptor}\n */\n static create() {\n return new RedirectInterceptor({webex: this});\n }\n\n /**\n * @see Interceptor#onRequest\n * @param {Object} options\n * @returns {Object}\n */\n onRequest(options) {\n if (options && options.uri && typeof options.uri === 'string') {\n if (\n options.uri.includes('https://idbroker') ||\n options.uri.includes(this.webex.config.credentials.samlUrl) ||\n options.uri.includes(this.webex.config.credentials.tokenUrl) ||\n options.uri.includes(this.webex.config.credentials.authorizeUrl)\n ) {\n return options;\n }\n }\n\n // If cisco-no-http-redirect is already set, don't overwrite it\n if (requestHeaderName in options.headers) {\n // If cisco-no-http-redirect is set to null, false, or undefined, delete\n // it to prevent a CORS preflight.\n if (!options.headers[requestHeaderName]) {\n Reflect.deleteProperty(options.headers, requestHeaderName);\n }\n\n return options;\n }\n options.headers[requestHeaderName] = true;\n options.$redirectCount = options.$redirectCount || 0;\n\n return options;\n }\n\n /**\n * @see Interceptor#onResponse\n * @param {Object} options\n * @param {HttpResponse} response\n * @returns {Object}\n */\n onResponse(options, response) {\n /* eslint-disable no-else-return */\n if (response.headers && response.headers[responseHeaderName]) {\n options = clone(options);\n options.uri = response.headers[responseHeaderName];\n options.$redirectCount += 1;\n if (options.$redirectCount > this.webex.config.maxAppLevelRedirects) {\n return Promise.reject(new Error('Maximum redirects exceeded'));\n }\n\n return this.webex.request(options);\n } else if (\n response.headers &&\n response.body &&\n response.body.errorCode === LOCUS_REDIRECT_ERROR &&\n response.body.location\n ) {\n options = clone(options);\n\n this.webex.logger.warn('redirect: url redirects needed from', options.uri);\n if (response.options && response.options.qs) {\n // for POST requests\n const newUrl = response.body.location.split('?');\n\n options.uri = newUrl[0]; // params are already present in the qs\n } else {\n // for GET requests\n options.uri = response.body.location;\n }\n\n this.webex.logger.warn('redirect: url redirects needed to', options.uri);\n options.$redirectCount += 1;\n if (options.$redirectCount > this.webex.config.maxLocusRedirects) {\n return Promise.reject(new Error('Maximum redirects exceeded'));\n }\n\n return this.webex.request(options);\n } else if (\n response.headers &&\n response.body &&\n response.body.code === APPAPI_REDIRECT_ERROR &&\n response.body.data &&\n response.body.data.siteFullUrl\n ) {\n options = clone(options);\n\n this.webex.logger.warn('redirect: url redirects needed from', options.uri);\n if (response.options && response.options.qs) {\n // for POST requests\n const newUrl = response.body.data.siteFullUrl.split('?');\n\n options.uri = newUrl[0]; // params are already present in the qs\n } else {\n // for GET requests\n options.uri = options.uri.replace(/(?<=https:\\/\\/)[^/]+/, response.body.data.siteFullUrl);\n }\n\n this.webex.logger.warn('redirect: url redirects needed to', options.uri);\n options.$redirectCount += 1;\n if (options.$redirectCount > this.webex.config.maxLocusRedirects) {\n return Promise.reject(new Error('Maximum redirects exceeded'));\n }\n\n return this.webex.request(options);\n }\n /* eslint-enable no-else-return */\n\n return response;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAMA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AAA6C,SAAAE,aAAAC,OAAA,QAAAC,yBAAA,GAAAC,yBAAA,oBAAAC,qBAAA,QAAAC,KAAA,OAAAC,gBAAA,CAAAC,OAAA,EAAAN,OAAA,GAAAO,MAAA,MAAAN,yBAAA,QAAAO,SAAA,OAAAH,gBAAA,CAAAC,OAAA,QAAAG,WAAA,EAAAF,MAAA,GAAAG,kBAAA,CAAAN,KAAA,EAAAO,SAAA,EAAAH,SAAA,YAAAD,MAAA,GAAAH,KAAA,CAAAQ,KAAA,OAAAD,SAAA,gBAAAE,2BAAA,CAAAP,OAAA,QAAAC,MAAA;AAAA,SAAAL,0BAAA,eAAAY,OAAA,qBAAAJ,kBAAA,oBAAAA,kBAAA,CAAAK,IAAA,2BAAAC,KAAA,oCAAAC,OAAA,CAAAC,SAAA,CAAAC,OAAA,CAAAC,IAAA,CAAAV,kBAAA,CAAAO,OAAA,8CAAAI,CAAA,sBAP7C,0CAEA;AACA;AACA;AAKA,IAAMC,iBAAiB,GAAG,wBAAwB;AAClD,IAAMC,kBAAkB,GAAG,gBAAgB;AAC3C,IAAMC,oBAAoB,GAAG,OAAO;AACpC,IAAMC,qBAAqB,GAAG,MAAM;;AAEpC;AACA;AACA;AAFA,IAGqBC,mBAAmB,GAAAC,OAAA,CAAArB,OAAA,0BAAAsB,YAAA;EAAA,IAAAC,UAAA,CAAAvB,OAAA,EAAAoB,mBAAA,EAAAE,YAAA;EAAA,IAAAE,MAAA,GAAA/B,YAAA,CAAA2B,mBAAA;EAAA,SAAAA,oBAAA;IAAA,IAAAK,gBAAA,CAAAzB,OAAA,QAAAoB,mBAAA;IAAA,OAAAI,MAAA,CAAAlB,KAAA,OAAAD,SAAA;EAAA;EAAA,IAAAqB,aAAA,CAAA1B,OAAA,EAAAoB,mBAAA;IAAAO,GAAA;IAAAC,KAAA;IAQtC;AACF;AACA;AACA;AACA;IACE,SAAAC,UAAUC,OAAO,EAAE;MACjB,IAAIA,OAAO,IAAIA,OAAO,CAACC,GAAG,IAAI,OAAOD,OAAO,CAACC,GAAG,KAAK,QAAQ,EAAE;QAC7D,IACED,OAAO,CAACC,GAAG,CAACC,QAAQ,CAAC,kBAAkB,CAAC,IACxCF,OAAO,CAACC,GAAG,CAACC,QAAQ,CAAC,IAAI,CAACC,KAAK,CAACC,MAAM,CAACC,WAAW,CAACC,OAAO,CAAC,IAC3DN,OAAO,CAACC,GAAG,CAACC,QAAQ,CAAC,IAAI,CAACC,KAAK,CAACC,MAAM,CAACC,WAAW,CAACE,QAAQ,CAAC,IAC5DP,OAAO,CAACC,GAAG,CAACC,QAAQ,CAAC,IAAI,CAACC,KAAK,CAACC,MAAM,CAACC,WAAW,CAACG,YAAY,CAAC,EAChE;UACA,OAAOR,OAAO;QAChB;MACF;;MAEA;MACA,IAAId,iBAAiB,IAAIc,OAAO,CAACS,OAAO,EAAE;QACxC;QACA;QACA,IAAI,CAACT,OAAO,CAACS,OAAO,CAACvB,iBAAiB,CAAC,EAAE;UACvC,IAAAwB,eAAA,CAAAxC,OAAA,EAAuB8B,OAAO,CAACS,OAAO,EAAEvB,iBAAiB,CAAC;QAC5D;QAEA,OAAOc,OAAO;MAChB;MACAA,OAAO,CAACS,OAAO,CAACvB,iBAAiB,CAAC,GAAG,IAAI;MACzCc,OAAO,CAACW,cAAc,GAAGX,OAAO,CAACW,cAAc,IAAI,CAAC;MAEpD,OAAOX,OAAO;IAChB;;IAEA;AACF;AACA;AACA;AACA;AACA;EALE;IAAAH,GAAA;IAAAC,KAAA,EAMA,SAAAc,WAAWZ,OAAO,EAAEa,QAAQ,EAAE;MAC5B;MACA,IAAIA,QAAQ,CAACJ,OAAO,IAAII,QAAQ,CAACJ,OAAO,CAACtB,kBAAkB,CAAC,EAAE;QAC5Da,OAAO,GAAG,IAAAc,aAAK,EAACd,OAAO,CAAC;QACxBA,OAAO,CAACC,GAAG,GAAGY,QAAQ,CAACJ,OAAO,CAACtB,kBAAkB,CAAC;QAClDa,OAAO,CAACW,cAAc,IAAI,CAAC;QAC3B,IAAIX,OAAO,CAACW,cAAc,GAAG,IAAI,CAACR,KAAK,CAACC,MAAM,CAACW,oBAAoB,EAAE;UACnE,OAAOC,QAAA,CAAA9C,OAAA,CAAQ+C,MAAM,CAAC,IAAIC,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAChE;QAEA,OAAO,IAAI,CAACf,KAAK,CAACgB,OAAO,CAACnB,OAAO,CAAC;MACpC,CAAC,MAAM,IACLa,QAAQ,CAACJ,OAAO,IAChBI,QAAQ,CAACO,IAAI,IACbP,QAAQ,CAACO,IAAI,CAACC,SAAS,KAAKjC,oBAAoB,IAChDyB,QAAQ,CAACO,IAAI,CAACE,QAAQ,EACtB;QACAtB,OAAO,GAAG,IAAAc,aAAK,EAACd,OAAO,CAAC;QAExB,IAAI,CAACG,KAAK,CAACoB,MAAM,CAACC,IAAI,CAAC,qCAAqC,EAAExB,OAAO,CAACC,GAAG,CAAC;QAC1E,IAAIY,QAAQ,CAACb,OAAO,IAAIa,QAAQ,CAACb,OAAO,CAACyB,EAAE,EAAE;UAC3C;UACA,IAAMC,MAAM,GAAGb,QAAQ,CAACO,IAAI,CAACE,QAAQ,CAACK,KAAK,CAAC,GAAG,CAAC;UAEhD3B,OAAO,CAACC,GAAG,GAAGyB,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3B,CAAC,MAAM;UACL;UACA1B,OAAO,CAACC,GAAG,GAAGY,QAAQ,CAACO,IAAI,CAACE,QAAQ;QACtC;QAEA,IAAI,CAACnB,KAAK,CAACoB,MAAM,CAACC,IAAI,CAAC,mCAAmC,EAAExB,OAAO,CAACC,GAAG,CAAC;QACxED,OAAO,CAACW,cAAc,IAAI,CAAC;QAC3B,IAAIX,OAAO,CAACW,cAAc,GAAG,IAAI,CAACR,KAAK,CAACC,MAAM,CAACwB,iBAAiB,EAAE;UAChE,OAAOZ,QAAA,CAAA9C,OAAA,CAAQ+C,MAAM,CAAC,IAAIC,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAChE;QAEA,OAAO,IAAI,CAACf,KAAK,CAACgB,OAAO,CAACnB,OAAO,CAAC;MACpC,CAAC,MAAM,IACLa,QAAQ,CAACJ,OAAO,IAChBI,QAAQ,CAACO,IAAI,IACbP,QAAQ,CAACO,IAAI,CAACS,IAAI,KAAKxC,qBAAqB,IAC5CwB,QAAQ,CAACO,IAAI,CAACU,IAAI,IAClBjB,QAAQ,CAACO,IAAI,CAACU,IAAI,CAACC,WAAW,EAC9B;QACA/B,OAAO,GAAG,IAAAc,aAAK,EAACd,OAAO,CAAC;QAExB,IAAI,CAACG,KAAK,CAACoB,MAAM,CAACC,IAAI,CAAC,qCAAqC,EAAExB,OAAO,CAACC,GAAG,CAAC;QAC1E,IAAIY,QAAQ,CAACb,OAAO,IAAIa,QAAQ,CAACb,OAAO,CAACyB,EAAE,EAAE;UAC3C;UACA,IAAMC,OAAM,GAAGb,QAAQ,CAACO,IAAI,CAACU,IAAI,CAACC,WAAW,CAACJ,KAAK,CAAC,GAAG,CAAC;UAExD3B,OAAO,CAACC,GAAG,GAAGyB,OAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3B,CAAC,MAAM;UACL;UACA1B,OAAO,CAACC,GAAG,GAAGD,OAAO,CAACC,GAAG,CAAC+B,OAAO,CAAC,sBAAsB,EAAEnB,QAAQ,CAACO,IAAI,CAACU,IAAI,CAACC,WAAW,CAAC;QAC3F;QAEA,IAAI,CAAC5B,KAAK,CAACoB,MAAM,CAACC,IAAI,CAAC,mCAAmC,EAAExB,OAAO,CAACC,GAAG,CAAC;QACxED,OAAO,CAACW,cAAc,IAAI,CAAC;QAC3B,IAAIX,OAAO,CAACW,cAAc,GAAG,IAAI,CAACR,KAAK,CAACC,MAAM,CAACwB,iBAAiB,EAAE;UAChE,OAAOZ,QAAA,CAAA9C,OAAA,CAAQ+C,MAAM,CAAC,IAAIC,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAChE;QAEA,OAAO,IAAI,CAACf,KAAK,CAACgB,OAAO,CAACnB,OAAO,CAAC;MACpC;MACA;;MAEA,OAAOa,QAAQ;IACjB;EAAC;IAAAhB,GAAA;IAAAC,KAAA;IAlHD;AACF;AACA;IACE,SAAAmC,OAAA,EAAgB;MACd,OAAO,IAAI3C,mBAAmB,CAAC;QAACa,KAAK,EAAE;MAAI,CAAC,CAAC;IAC/C;EAAC;EAAA,OAAAb,mBAAA;AAAA,EAN8C4C,qBAAW"}
|
package/dist/lib/batcher.js
CHANGED
|
@@ -286,7 +286,7 @@ var Batcher = _webexPlugin.default.extend({
|
|
|
286
286
|
fingerprintResponse: function fingerprintResponse(item) {
|
|
287
287
|
throw new Error('fingerprintResponse() must be implemented');
|
|
288
288
|
},
|
|
289
|
-
version: "3.8.
|
|
289
|
+
version: "3.8.1-next.1"
|
|
290
290
|
});
|
|
291
291
|
var _default2 = exports.default = Batcher;
|
|
292
292
|
//# sourceMappingURL=batcher.js.map
|
|
@@ -558,7 +558,7 @@ var Credentials = _webexPlugin.default.extend((_dec = (0, _common.oneFlight)({
|
|
|
558
558
|
this.refresh();
|
|
559
559
|
}
|
|
560
560
|
},
|
|
561
|
-
version: "3.8.
|
|
561
|
+
version: "3.8.1-next.1"
|
|
562
562
|
}, ((0, _applyDecoratedDescriptor2.default)(_obj, "getUserToken", [_dec, _dec2], (0, _getOwnPropertyDescriptor.default)(_obj, "getUserToken"), _obj), (0, _applyDecoratedDescriptor2.default)(_obj, "initialize", [_dec3], (0, _getOwnPropertyDescriptor.default)(_obj, "initialize"), _obj), (0, _applyDecoratedDescriptor2.default)(_obj, "invalidate", [_common.oneFlight, _dec4], (0, _getOwnPropertyDescriptor.default)(_obj, "invalidate"), _obj), (0, _applyDecoratedDescriptor2.default)(_obj, "refresh", [_common.oneFlight, _dec5, _dec6], (0, _getOwnPropertyDescriptor.default)(_obj, "refresh"), _obj)), _obj)));
|
|
563
563
|
var _default = exports.default = Credentials;
|
|
564
564
|
//# sourceMappingURL=credentials.js.map
|
|
@@ -532,7 +532,7 @@ var Token = _webexPlugin.default.extend((_dec = (0, _common.oneFlight)({
|
|
|
532
532
|
return res.body;
|
|
533
533
|
});
|
|
534
534
|
},
|
|
535
|
-
version: "3.8.
|
|
535
|
+
version: "3.8.1-next.1"
|
|
536
536
|
}, ((0, _applyDecoratedDescriptor2.default)(_obj, "downscope", [_dec], (0, _getOwnPropertyDescriptor.default)(_obj, "downscope"), _obj), (0, _applyDecoratedDescriptor2.default)(_obj, "refresh", [_common.oneFlight], (0, _getOwnPropertyDescriptor.default)(_obj, "refresh"), _obj), (0, _applyDecoratedDescriptor2.default)(_obj, "revoke", [_common.oneFlight], (0, _getOwnPropertyDescriptor.default)(_obj, "revoke"), _obj)), _obj)));
|
|
537
537
|
var _default = exports.default = Token;
|
|
538
538
|
//# sourceMappingURL=token.js.map
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
|
|
4
|
+
_Object$defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.SERVICE_CATALOGS_ENUM_TYPES = exports.SERVICE_CATALOGS = exports.NAMESPACE = exports.COMMERCIAL_ALLOWED_DOMAINS = void 0;
|
|
8
|
+
var NAMESPACE = exports.NAMESPACE = 'services';
|
|
9
|
+
var SERVICE_CATALOGS = exports.SERVICE_CATALOGS = ['discovery', 'limited', 'signin', 'postauth', 'custom'];
|
|
10
|
+
var SERVICE_CATALOGS_ENUM_TYPES = exports.SERVICE_CATALOGS_ENUM_TYPES = {
|
|
11
|
+
STRING: 'SERVICE_CATALOGS_ENUM_TYPES_STRING',
|
|
12
|
+
NUMBER: 'SERVICE_CATALOGS_ENUM_TYPES_NUMBER'
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
// The default allowed domains that SDK can make requests to outside of service catalog
|
|
16
|
+
var COMMERCIAL_ALLOWED_DOMAINS = exports.COMMERCIAL_ALLOWED_DOMAINS = ['wbx2.com', 'ciscospark.com', 'webex.com', 'webexapis.com', 'broadcloudpbx.com', 'broadcloud.eu', 'broadcloud.com.au', 'broadcloudpbx.net'];
|
|
17
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["NAMESPACE","exports","SERVICE_CATALOGS","SERVICE_CATALOGS_ENUM_TYPES","STRING","NUMBER","COMMERCIAL_ALLOWED_DOMAINS"],"sources":["constants.ts"],"sourcesContent":["const NAMESPACE = 'services';\nconst SERVICE_CATALOGS = ['discovery', 'limited', 'signin', 'postauth', 'custom'];\n\nconst SERVICE_CATALOGS_ENUM_TYPES = {\n STRING: 'SERVICE_CATALOGS_ENUM_TYPES_STRING',\n NUMBER: 'SERVICE_CATALOGS_ENUM_TYPES_NUMBER',\n};\n\n// The default allowed domains that SDK can make requests to outside of service catalog\nconst COMMERCIAL_ALLOWED_DOMAINS = [\n 'wbx2.com',\n 'ciscospark.com',\n 'webex.com',\n 'webexapis.com',\n 'broadcloudpbx.com',\n 'broadcloud.eu',\n 'broadcloud.com.au',\n 'broadcloudpbx.net',\n];\n\nexport {SERVICE_CATALOGS_ENUM_TYPES, NAMESPACE, SERVICE_CATALOGS, COMMERCIAL_ALLOWED_DOMAINS};\n"],"mappings":";;;;;;;AAAA,IAAMA,SAAS,GAAAC,OAAA,CAAAD,SAAA,GAAG,UAAU;AAC5B,IAAME,gBAAgB,GAAAD,OAAA,CAAAC,gBAAA,GAAG,CAAC,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,CAAC;AAEjF,IAAMC,2BAA2B,GAAAF,OAAA,CAAAE,2BAAA,GAAG;EAClCC,MAAM,EAAE,oCAAoC;EAC5CC,MAAM,EAAE;AACV,CAAC;;AAED;AACA,IAAMC,0BAA0B,GAAAL,OAAA,CAAAK,0BAAA,GAAG,CACjC,UAAU,EACV,gBAAgB,EAChB,WAAW,EACX,eAAe,EACf,mBAAmB,EACnB,eAAe,EACf,mBAAmB,EACnB,mBAAmB,CACpB"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _typeof = require("@babel/runtime-corejs2/helpers/typeof");
|
|
4
|
+
var _WeakMap = require("@babel/runtime-corejs2/core-js/weak-map");
|
|
5
|
+
var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
|
|
6
|
+
var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs2/core-js/object/get-own-property-descriptor");
|
|
7
|
+
var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
|
|
8
|
+
_Object$defineProperty(exports, "__esModule", {
|
|
9
|
+
value: true
|
|
10
|
+
});
|
|
11
|
+
_Object$defineProperty(exports, "HostMapInterceptorV2", {
|
|
12
|
+
enumerable: true,
|
|
13
|
+
get: function get() {
|
|
14
|
+
return _hostmap.default;
|
|
15
|
+
}
|
|
16
|
+
});
|
|
17
|
+
_Object$defineProperty(exports, "ServerErrorInterceptorV2", {
|
|
18
|
+
enumerable: true,
|
|
19
|
+
get: function get() {
|
|
20
|
+
return _serverError.default;
|
|
21
|
+
}
|
|
22
|
+
});
|
|
23
|
+
_Object$defineProperty(exports, "ServiceCatalogV2", {
|
|
24
|
+
enumerable: true,
|
|
25
|
+
get: function get() {
|
|
26
|
+
return _serviceCatalog.default;
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
_Object$defineProperty(exports, "ServiceDetail", {
|
|
30
|
+
enumerable: true,
|
|
31
|
+
get: function get() {
|
|
32
|
+
return _serviceDetail.default;
|
|
33
|
+
}
|
|
34
|
+
});
|
|
35
|
+
_Object$defineProperty(exports, "ServiceInterceptorV2", {
|
|
36
|
+
enumerable: true,
|
|
37
|
+
get: function get() {
|
|
38
|
+
return _service.default;
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
_Object$defineProperty(exports, "ServicesV2", {
|
|
42
|
+
enumerable: true,
|
|
43
|
+
get: function get() {
|
|
44
|
+
return _servicesV.default;
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
exports.constants = void 0;
|
|
48
|
+
var constants = _interopRequireWildcard(require("./constants"));
|
|
49
|
+
exports.constants = constants;
|
|
50
|
+
var _servicesV = _interopRequireDefault(require("./services-v2"));
|
|
51
|
+
var _service = _interopRequireDefault(require("./interceptors/service"));
|
|
52
|
+
var _serverError = _interopRequireDefault(require("./interceptors/server-error"));
|
|
53
|
+
var _hostmap = _interopRequireDefault(require("./interceptors/hostmap"));
|
|
54
|
+
var _serviceCatalog = _interopRequireDefault(require("./service-catalog"));
|
|
55
|
+
var _serviceDetail = _interopRequireDefault(require("./service-detail"));
|
|
56
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof _WeakMap) return null; var r = new _WeakMap(), t = new _WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
57
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = _Object$defineProperty && _Object$getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? _Object$getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? _Object$defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
58
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["constants","_interopRequireWildcard","require","exports","_servicesV","_interopRequireDefault","_service","_serverError","_hostmap","_serviceCatalog","_serviceDetail","_getRequireWildcardCache","e","_WeakMap","r","t","__esModule","_typeof","default","has","get","n","__proto__","a","_Object$defineProperty","_Object$getOwnPropertyDescriptor","u","Object","prototype","hasOwnProperty","call","i","set"],"sources":["index.ts"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n// import {registerInternalPlugin} from '../../webex-core';\n\nimport * as constants from './constants';\n// import ServerErrorInterceptor from './interceptors/server-error';\n// import ServiceInterceptor from './interceptors/service';\nexport {default as ServicesV2} from './services-v2';\n\n// registerInternalPlugin('services', ServicesV2, {\n// interceptors: {\n// ServiceInterceptor: ServiceInterceptor.create,\n// ServerErrorInterceptor: ServerErrorInterceptor.create,\n// },\n// });\n\nexport {constants};\nexport {default as ServiceInterceptorV2} from './interceptors/service';\nexport {default as ServerErrorInterceptorV2} from './interceptors/server-error';\nexport {default as HostMapInterceptorV2} from './interceptors/hostmap';\nexport {default as ServiceCatalogV2} from './service-catalog';\nexport {default as ServiceDetail} from './service-detail';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,IAAAA,SAAA,GAAAC,uBAAA,CAAAC,OAAA;AAAyCC,OAAA,CAAAH,SAAA,GAAAA,SAAA;AAGzC,IAAAI,UAAA,GAAAC,sBAAA,CAAAH,OAAA;AAUA,IAAAI,QAAA,GAAAD,sBAAA,CAAAH,OAAA;AACA,IAAAK,YAAA,GAAAF,sBAAA,CAAAH,OAAA;AACA,IAAAM,QAAA,GAAAH,sBAAA,CAAAH,OAAA;AACA,IAAAO,eAAA,GAAAJ,sBAAA,CAAAH,OAAA;AACA,IAAAQ,cAAA,GAAAL,sBAAA,CAAAH,OAAA;AAA0D,SAAAS,yBAAAC,CAAA,6BAAAC,QAAA,mBAAAC,CAAA,OAAAD,QAAA,IAAAE,CAAA,OAAAF,QAAA,YAAAF,wBAAA,YAAAA,yBAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAX,wBAAAW,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,gBAAAK,OAAA,CAAAL,CAAA,0BAAAA,CAAA,WAAAM,OAAA,EAAAN,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAI,GAAA,CAAAP,CAAA,UAAAG,CAAA,CAAAK,GAAA,CAAAR,CAAA,OAAAS,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,sBAAA,IAAAC,gCAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,IAAAC,MAAA,CAAAC,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAlB,CAAA,EAAAc,CAAA,SAAAK,CAAA,GAAAR,CAAA,GAAAE,gCAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAK,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,sBAAA,CAAAH,CAAA,EAAAK,CAAA,EAAAK,CAAA,IAAAV,CAAA,CAAAK,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAL,CAAA,CAAAH,OAAA,GAAAN,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAiB,GAAA,CAAApB,CAAA,EAAAS,CAAA,GAAAA,CAAA"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _Reflect$construct = require("@babel/runtime-corejs2/core-js/reflect/construct");
|
|
4
|
+
var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
|
|
5
|
+
var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
|
|
6
|
+
_Object$defineProperty(exports, "__esModule", {
|
|
7
|
+
value: true
|
|
8
|
+
});
|
|
9
|
+
exports.default = void 0;
|
|
10
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/classCallCheck"));
|
|
11
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/createClass"));
|
|
12
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/inherits"));
|
|
13
|
+
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/possibleConstructorReturn"));
|
|
14
|
+
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/getPrototypeOf"));
|
|
15
|
+
var _httpCore = require("@webex/http-core");
|
|
16
|
+
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = _Reflect$construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
|
|
17
|
+
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !_Reflect$construct) return false; if (_Reflect$construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(_Reflect$construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } /*!
|
|
18
|
+
* Copyright (c) 2015-2024 Cisco Systems, Inc. See LICENSE file.
|
|
19
|
+
*/
|
|
20
|
+
/**
|
|
21
|
+
* This interceptor replaces the host in the request uri with the host from the hostmap
|
|
22
|
+
* It will attempt to do this for every request, but not all URIs will be in the hostmap
|
|
23
|
+
* URIs with hosts that are not in the hostmap will be left unchanged
|
|
24
|
+
*/
|
|
25
|
+
var HostMapInterceptor = exports.default = /*#__PURE__*/function (_Interceptor) {
|
|
26
|
+
(0, _inherits2.default)(HostMapInterceptor, _Interceptor);
|
|
27
|
+
var _super = _createSuper(HostMapInterceptor);
|
|
28
|
+
function HostMapInterceptor() {
|
|
29
|
+
(0, _classCallCheck2.default)(this, HostMapInterceptor);
|
|
30
|
+
return _super.apply(this, arguments);
|
|
31
|
+
}
|
|
32
|
+
(0, _createClass2.default)(HostMapInterceptor, [{
|
|
33
|
+
key: "onRequest",
|
|
34
|
+
value:
|
|
35
|
+
/**
|
|
36
|
+
* @see Interceptor#onRequest
|
|
37
|
+
* @param {Object} options
|
|
38
|
+
* @returns {Object}
|
|
39
|
+
*/
|
|
40
|
+
function onRequest(options) {
|
|
41
|
+
if (options.uri) {
|
|
42
|
+
try {
|
|
43
|
+
options.uri = this.webex.internal.services.replaceHostFromHostmap(options.uri);
|
|
44
|
+
} catch (error) {
|
|
45
|
+
/* empty */
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
return options;
|
|
49
|
+
}
|
|
50
|
+
}], [{
|
|
51
|
+
key: "create",
|
|
52
|
+
value:
|
|
53
|
+
/**
|
|
54
|
+
* @returns {HostMapInterceptor}
|
|
55
|
+
*/
|
|
56
|
+
function create() {
|
|
57
|
+
return new HostMapInterceptor({
|
|
58
|
+
webex: this
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
}]);
|
|
62
|
+
return HostMapInterceptor;
|
|
63
|
+
}(_httpCore.Interceptor);
|
|
64
|
+
//# sourceMappingURL=hostmap.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_httpCore","require","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","default","result","NewTarget","constructor","_Reflect$construct","arguments","apply","_possibleConstructorReturn2","Reflect","sham","Proxy","Boolean","prototype","valueOf","call","e","HostMapInterceptor","exports","_Interceptor","_inherits2","_super","_classCallCheck2","_createClass2","key","value","onRequest","options","uri","webex","internal","services","replaceHostFromHostmap","error","create","Interceptor"],"sources":["hostmap.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2024 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport {Interceptor} from '@webex/http-core';\n\n/**\n * This interceptor replaces the host in the request uri with the host from the hostmap\n * It will attempt to do this for every request, but not all URIs will be in the hostmap\n * URIs with hosts that are not in the hostmap will be left unchanged\n */\nexport default class HostMapInterceptor extends Interceptor {\n /**\n * @returns {HostMapInterceptor}\n */\n static create() {\n return new HostMapInterceptor({webex: this});\n }\n\n /**\n * @see Interceptor#onRequest\n * @param {Object} options\n * @returns {Object}\n */\n onRequest(options) {\n if (options.uri) {\n try {\n options.uri = this.webex.internal.services.replaceHostFromHostmap(options.uri);\n } catch (error) {\n /* empty */\n }\n }\n\n return options;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;AAIA,IAAAA,SAAA,GAAAC,OAAA;AAA6C,SAAAC,aAAAC,OAAA,QAAAC,yBAAA,GAAAC,yBAAA,oBAAAC,qBAAA,QAAAC,KAAA,OAAAC,gBAAA,CAAAC,OAAA,EAAAN,OAAA,GAAAO,MAAA,MAAAN,yBAAA,QAAAO,SAAA,OAAAH,gBAAA,CAAAC,OAAA,QAAAG,WAAA,EAAAF,MAAA,GAAAG,kBAAA,CAAAN,KAAA,EAAAO,SAAA,EAAAH,SAAA,YAAAD,MAAA,GAAAH,KAAA,CAAAQ,KAAA,OAAAD,SAAA,gBAAAE,2BAAA,CAAAP,OAAA,QAAAC,MAAA;AAAA,SAAAL,0BAAA,eAAAY,OAAA,qBAAAJ,kBAAA,oBAAAA,kBAAA,CAAAK,IAAA,2BAAAC,KAAA,oCAAAC,OAAA,CAAAC,SAAA,CAAAC,OAAA,CAAAC,IAAA,CAAAV,kBAAA,CAAAO,OAAA,8CAAAI,CAAA,sBAJ7C;AACA;AACA;AAIA;AACA;AACA;AACA;AACA;AAJA,IAKqBC,kBAAkB,GAAAC,OAAA,CAAAjB,OAAA,0BAAAkB,YAAA;EAAA,IAAAC,UAAA,CAAAnB,OAAA,EAAAgB,kBAAA,EAAAE,YAAA;EAAA,IAAAE,MAAA,GAAA3B,YAAA,CAAAuB,kBAAA;EAAA,SAAAA,mBAAA;IAAA,IAAAK,gBAAA,CAAArB,OAAA,QAAAgB,kBAAA;IAAA,OAAAI,MAAA,CAAAd,KAAA,OAAAD,SAAA;EAAA;EAAA,IAAAiB,aAAA,CAAAtB,OAAA,EAAAgB,kBAAA;IAAAO,GAAA;IAAAC,KAAA;IAQrC;AACF;AACA;AACA;AACA;IACE,SAAAC,UAAUC,OAAO,EAAE;MACjB,IAAIA,OAAO,CAACC,GAAG,EAAE;QACf,IAAI;UACFD,OAAO,CAACC,GAAG,GAAG,IAAI,CAACC,KAAK,CAACC,QAAQ,CAACC,QAAQ,CAACC,sBAAsB,CAACL,OAAO,CAACC,GAAG,CAAC;QAChF,CAAC,CAAC,OAAOK,KAAK,EAAE;UACd;QAAA;MAEJ;MAEA,OAAON,OAAO;IAChB;EAAC;IAAAH,GAAA;IAAAC,KAAA;IAtBD;AACF;AACA;IACE,SAAAS,OAAA,EAAgB;MACd,OAAO,IAAIjB,kBAAkB,CAAC;QAACY,KAAK,EAAE;MAAI,CAAC,CAAC;IAC9C;EAAC;EAAA,OAAAZ,kBAAA;AAAA,EAN6CkB,qBAAW"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _Reflect$construct = require("@babel/runtime-corejs2/core-js/reflect/construct");
|
|
4
|
+
var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
|
|
5
|
+
var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
|
|
6
|
+
_Object$defineProperty(exports, "__esModule", {
|
|
7
|
+
value: true
|
|
8
|
+
});
|
|
9
|
+
exports.default = void 0;
|
|
10
|
+
var _promise = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/promise"));
|
|
11
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/classCallCheck"));
|
|
12
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/createClass"));
|
|
13
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/inherits"));
|
|
14
|
+
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/possibleConstructorReturn"));
|
|
15
|
+
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/getPrototypeOf"));
|
|
16
|
+
var _httpCore = require("@webex/http-core");
|
|
17
|
+
var _webexHttpError = _interopRequireDefault(require("../../webex-http-error"));
|
|
18
|
+
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = _Reflect$construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
|
|
19
|
+
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !_Reflect$construct) return false; if (_Reflect$construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(_Reflect$construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } /*!
|
|
20
|
+
* Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
|
|
21
|
+
*/
|
|
22
|
+
/**
|
|
23
|
+
* Changes server url when it fails
|
|
24
|
+
*/
|
|
25
|
+
var ServerErrorInterceptor = exports.default = /*#__PURE__*/function (_Interceptor) {
|
|
26
|
+
(0, _inherits2.default)(ServerErrorInterceptor, _Interceptor);
|
|
27
|
+
var _super = _createSuper(ServerErrorInterceptor);
|
|
28
|
+
function ServerErrorInterceptor() {
|
|
29
|
+
(0, _classCallCheck2.default)(this, ServerErrorInterceptor);
|
|
30
|
+
return _super.apply(this, arguments);
|
|
31
|
+
}
|
|
32
|
+
(0, _createClass2.default)(ServerErrorInterceptor, [{
|
|
33
|
+
key: "onResponseError",
|
|
34
|
+
value:
|
|
35
|
+
/**
|
|
36
|
+
* @see Interceptor#onResponseError
|
|
37
|
+
* @param {Object} options
|
|
38
|
+
* @param {Object} reason
|
|
39
|
+
* @returns {Object}
|
|
40
|
+
*/
|
|
41
|
+
function onResponseError(options, reason) {
|
|
42
|
+
if ((reason instanceof _webexHttpError.default.InternalServerError || reason instanceof _webexHttpError.default.BadGateway || reason instanceof _webexHttpError.default.ServiceUnavailable) && options.uri) {
|
|
43
|
+
var feature = this.webex.internal.device.features.developer.get('web-high-availability');
|
|
44
|
+
if (feature && feature.value) {
|
|
45
|
+
this.webex.internal.metrics.submitClientMetrics('web-ha', {
|
|
46
|
+
fields: {
|
|
47
|
+
success: false
|
|
48
|
+
},
|
|
49
|
+
tags: {
|
|
50
|
+
action: 'failed',
|
|
51
|
+
error: reason.message,
|
|
52
|
+
url: options.uri
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
return _promise.default.resolve(this.webex.internal.services.markFailedUrl(options.uri)).then(function () {
|
|
56
|
+
return _promise.default.reject(reason);
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
return _promise.default.reject(reason);
|
|
61
|
+
}
|
|
62
|
+
}], [{
|
|
63
|
+
key: "create",
|
|
64
|
+
value:
|
|
65
|
+
/**
|
|
66
|
+
* @returns {HAMessagingInterceptor}
|
|
67
|
+
*/
|
|
68
|
+
function create() {
|
|
69
|
+
// eslint-disable-next-line no-invalid-this
|
|
70
|
+
return new ServerErrorInterceptor({
|
|
71
|
+
webex: this
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
}]);
|
|
75
|
+
return ServerErrorInterceptor;
|
|
76
|
+
}(_httpCore.Interceptor);
|
|
77
|
+
//# sourceMappingURL=server-error.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_httpCore","require","_webexHttpError","_interopRequireDefault","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","default","result","NewTarget","constructor","_Reflect$construct","arguments","apply","_possibleConstructorReturn2","Reflect","sham","Proxy","Boolean","prototype","valueOf","call","e","ServerErrorInterceptor","exports","_Interceptor","_inherits2","_super","_classCallCheck2","_createClass2","key","value","onResponseError","options","reason","WebexHttpError","InternalServerError","BadGateway","ServiceUnavailable","uri","feature","webex","internal","device","features","developer","get","metrics","submitClientMetrics","fields","success","tags","action","error","message","url","_promise","resolve","services","markFailedUrl","then","reject","create","Interceptor"],"sources":["server-error.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport {Interceptor} from '@webex/http-core';\nimport WebexHttpError from '../../webex-http-error';\n/**\n * Changes server url when it fails\n */\nexport default class ServerErrorInterceptor extends Interceptor {\n /**\n * @returns {HAMessagingInterceptor}\n */\n static create() {\n // eslint-disable-next-line no-invalid-this\n return new ServerErrorInterceptor({webex: this});\n }\n\n /**\n * @see Interceptor#onResponseError\n * @param {Object} options\n * @param {Object} reason\n * @returns {Object}\n */\n onResponseError(options, reason) {\n if (\n (reason instanceof WebexHttpError.InternalServerError ||\n reason instanceof WebexHttpError.BadGateway ||\n reason instanceof WebexHttpError.ServiceUnavailable) &&\n options.uri\n ) {\n const feature = this.webex.internal.device.features.developer.get('web-high-availability');\n\n if (feature && feature.value) {\n this.webex.internal.metrics.submitClientMetrics('web-ha', {\n fields: {success: false},\n tags: {action: 'failed', error: reason.message, url: options.uri},\n });\n\n return Promise.resolve(this.webex.internal.services.markFailedUrl(options.uri)).then(() =>\n Promise.reject(reason)\n );\n }\n }\n\n return Promise.reject(reason);\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;AAIA,IAAAA,SAAA,GAAAC,OAAA;AACA,IAAAC,eAAA,GAAAC,sBAAA,CAAAF,OAAA;AAAoD,SAAAG,aAAAC,OAAA,QAAAC,yBAAA,GAAAC,yBAAA,oBAAAC,qBAAA,QAAAC,KAAA,OAAAC,gBAAA,CAAAC,OAAA,EAAAN,OAAA,GAAAO,MAAA,MAAAN,yBAAA,QAAAO,SAAA,OAAAH,gBAAA,CAAAC,OAAA,QAAAG,WAAA,EAAAF,MAAA,GAAAG,kBAAA,CAAAN,KAAA,EAAAO,SAAA,EAAAH,SAAA,YAAAD,MAAA,GAAAH,KAAA,CAAAQ,KAAA,OAAAD,SAAA,gBAAAE,2BAAA,CAAAP,OAAA,QAAAC,MAAA;AAAA,SAAAL,0BAAA,eAAAY,OAAA,qBAAAJ,kBAAA,oBAAAA,kBAAA,CAAAK,IAAA,2BAAAC,KAAA,oCAAAC,OAAA,CAAAC,SAAA,CAAAC,OAAA,CAAAC,IAAA,CAAAV,kBAAA,CAAAO,OAAA,8CAAAI,CAAA,sBALpD;AACA;AACA;AAIA;AACA;AACA;AAFA,IAGqBC,sBAAsB,GAAAC,OAAA,CAAAjB,OAAA,0BAAAkB,YAAA;EAAA,IAAAC,UAAA,CAAAnB,OAAA,EAAAgB,sBAAA,EAAAE,YAAA;EAAA,IAAAE,MAAA,GAAA3B,YAAA,CAAAuB,sBAAA;EAAA,SAAAA,uBAAA;IAAA,IAAAK,gBAAA,CAAArB,OAAA,QAAAgB,sBAAA;IAAA,OAAAI,MAAA,CAAAd,KAAA,OAAAD,SAAA;EAAA;EAAA,IAAAiB,aAAA,CAAAtB,OAAA,EAAAgB,sBAAA;IAAAO,GAAA;IAAAC,KAAA;IASzC;AACF;AACA;AACA;AACA;AACA;IACE,SAAAC,gBAAgBC,OAAO,EAAEC,MAAM,EAAE;MAC/B,IACE,CAACA,MAAM,YAAYC,uBAAc,CAACC,mBAAmB,IACnDF,MAAM,YAAYC,uBAAc,CAACE,UAAU,IAC3CH,MAAM,YAAYC,uBAAc,CAACG,kBAAkB,KACrDL,OAAO,CAACM,GAAG,EACX;QACA,IAAMC,OAAO,GAAG,IAAI,CAACC,KAAK,CAACC,QAAQ,CAACC,MAAM,CAACC,QAAQ,CAACC,SAAS,CAACC,GAAG,CAAC,uBAAuB,CAAC;QAE1F,IAAIN,OAAO,IAAIA,OAAO,CAACT,KAAK,EAAE;UAC5B,IAAI,CAACU,KAAK,CAACC,QAAQ,CAACK,OAAO,CAACC,mBAAmB,CAAC,QAAQ,EAAE;YACxDC,MAAM,EAAE;cAACC,OAAO,EAAE;YAAK,CAAC;YACxBC,IAAI,EAAE;cAACC,MAAM,EAAE,QAAQ;cAAEC,KAAK,EAAEnB,MAAM,CAACoB,OAAO;cAAEC,GAAG,EAAEtB,OAAO,CAACM;YAAG;UAClE,CAAC,CAAC;UAEF,OAAOiB,QAAA,CAAAjD,OAAA,CAAQkD,OAAO,CAAC,IAAI,CAAChB,KAAK,CAACC,QAAQ,CAACgB,QAAQ,CAACC,aAAa,CAAC1B,OAAO,CAACM,GAAG,CAAC,CAAC,CAACqB,IAAI,CAAC;YAAA,OACnFJ,QAAA,CAAAjD,OAAA,CAAQsD,MAAM,CAAC3B,MAAM,CAAC;UAAA,CACxB,CAAC;QACH;MACF;MAEA,OAAOsB,QAAA,CAAAjD,OAAA,CAAQsD,MAAM,CAAC3B,MAAM,CAAC;IAC/B;EAAC;IAAAJ,GAAA;IAAAC,KAAA;IApCD;AACF;AACA;IACE,SAAA+B,OAAA,EAAgB;MACd;MACA,OAAO,IAAIvC,sBAAsB,CAAC;QAACkB,KAAK,EAAE;MAAI,CAAC,CAAC;IAClD;EAAC;EAAA,OAAAlB,sBAAA;AAAA,EAPiDwC,qBAAW"}
|