@webex/webex-core 3.9.0 → 3.10.0-next.2
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 +7 -0
- package/dist/index.js.map +1 -1
- package/dist/interceptors/proxy.js +97 -0
- package/dist/interceptors/proxy.js.map +1 -0
- 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 +88 -49
- package/dist/lib/services/services.js.map +1 -1
- package/dist/lib/services-v2/index.js.map +1 -1
- package/dist/lib/services-v2/service-catalog.js +11 -1
- package/dist/lib/services-v2/service-catalog.js.map +1 -1
- package/dist/lib/services-v2/services-v2.js +133 -46
- package/dist/lib/services-v2/services-v2.js.map +1 -1
- package/dist/lib/services-v2/types.js.map +1 -1
- package/dist/plugins/logger.js +1 -1
- package/dist/webex-core.js +51 -59
- package/dist/webex-core.js.map +1 -1
- package/package.json +14 -14
- package/src/index.js +1 -0
- package/src/interceptors/proxy.js +70 -0
- package/src/lib/services/services.js +36 -0
- package/src/lib/services-v2/index.ts +0 -1
- package/src/lib/services-v2/service-catalog.ts +14 -1
- package/src/lib/services-v2/services-v2.ts +106 -11
- package/src/lib/services-v2/types.ts +9 -1
- package/src/webex-core.js +10 -2
- package/test/integration/spec/services-v2/service-catalog.js +51 -15
- package/test/integration/spec/services-v2/services-v2.js +79 -4
- package/test/unit/spec/interceptors/proxy.js +73 -0
- package/test/unit/spec/services/services.js +29 -0
- package/test/unit/spec/services-v2/services-v2.ts +244 -6
- package/test/unit/spec/webex-core.js +62 -2
package/dist/index.js
CHANGED
|
@@ -74,6 +74,12 @@ _Object$defineProperty(exports, "PayloadTransformerInterceptor", {
|
|
|
74
74
|
return _payloadTransformer.default;
|
|
75
75
|
}
|
|
76
76
|
});
|
|
77
|
+
_Object$defineProperty(exports, "ProxyInterceptor", {
|
|
78
|
+
enumerable: true,
|
|
79
|
+
get: function get() {
|
|
80
|
+
return _proxy.default;
|
|
81
|
+
}
|
|
82
|
+
});
|
|
77
83
|
_Object$defineProperty(exports, "RateLimitInterceptor", {
|
|
78
84
|
enumerable: true,
|
|
79
85
|
get: function get() {
|
|
@@ -317,6 +323,7 @@ var _requestEvent = _interopRequireDefault(require("./interceptors/request-event
|
|
|
317
323
|
var _requestLogger = _interopRequireDefault(require("./interceptors/request-logger"));
|
|
318
324
|
var _requestTiming = _interopRequireDefault(require("./interceptors/request-timing"));
|
|
319
325
|
var _userAgent = _interopRequireDefault(require("./interceptors/user-agent"));
|
|
326
|
+
var _proxy = _interopRequireDefault(require("./interceptors/proxy"));
|
|
320
327
|
var _webexTrackingId = _interopRequireWildcard(require("./interceptors/webex-tracking-id"));
|
|
321
328
|
var _webexUserAgent = _interopRequireDefault(require("./interceptors/webex-user-agent"));
|
|
322
329
|
var _rateLimit = _interopRequireDefault(require("./interceptors/rate-limit"));
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["require","_credentials","_services","_servicesV","_serviceConstants","_interopRequireWildcard","exports","serviceConstants","_storage","_webexCore","_webexHttpError","_interopRequireDefault","_statelessWebexPlugin","_webexPlugin","_auth","_networkTiming","_payloadTransformer","_redirect","_responseLogger","_requestEvent","_requestLogger","_requestTiming","_userAgent","_webexTrackingId","_webexUserAgent","_rateLimit","_embargo","_defaultOptions","_hostmap","_service","_serverError","_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 ServiceCatalog,\n ServiceRegistry,\n ServiceState,\n Services,\n ServiceHost,\n ServiceUrl,\n} from './lib/services';\n\nexport {ServiceCatalogV2, ServicesV2, ServiceDetail} from './lib/services-v2';\nexport * as serviceConstants from './lib/constants';\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';\nexport {default as HostMapInterceptor} from './lib/interceptors/hostmap';\nexport {default as ServiceInterceptor} from './lib/interceptors/service';\nexport {default as ServerErrorInterceptor} from './lib/interceptors/server-error';\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","_serviceConstants","_interopRequireWildcard","exports","serviceConstants","_storage","_webexCore","_webexHttpError","_interopRequireDefault","_statelessWebexPlugin","_webexPlugin","_auth","_networkTiming","_payloadTransformer","_redirect","_responseLogger","_requestEvent","_requestLogger","_requestTiming","_userAgent","_proxy","_webexTrackingId","_webexUserAgent","_rateLimit","_embargo","_defaultOptions","_hostmap","_service","_serverError","_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 ServiceCatalog,\n ServiceRegistry,\n ServiceState,\n Services,\n ServiceHost,\n ServiceUrl,\n} from './lib/services';\n\nexport {ServiceCatalogV2, ServicesV2, ServiceDetail} from './lib/services-v2';\nexport * as serviceConstants from './lib/constants';\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 ProxyInterceptor} from './interceptors/proxy';\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';\nexport {default as HostMapInterceptor} from './lib/interceptors/hostmap';\nexport {default as ServiceInterceptor} from './lib/interceptors/service';\nexport {default as ServerErrorInterceptor} from './lib/interceptors/server-error';\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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"}
|
|
@@ -0,0 +1,97 @@
|
|
|
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 _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/assertThisInitialized"));
|
|
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 _weakMap = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/weak-map"));
|
|
17
|
+
var _common = require("@webex/common");
|
|
18
|
+
var _httpCore = require("@webex/http-core");
|
|
19
|
+
var _lodash = require("lodash");
|
|
20
|
+
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); }; }
|
|
21
|
+
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; } } /*!
|
|
22
|
+
* Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
|
|
23
|
+
*/
|
|
24
|
+
var strings = new _weakMap.default();
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* Sets a proxy on all requests if one is not present.
|
|
28
|
+
* Defaults to none, though a custom proxy can be set
|
|
29
|
+
* using the proxy configuration. e.g.
|
|
30
|
+
*
|
|
31
|
+
* webex = WebexSdk.init({
|
|
32
|
+
* credentials: {
|
|
33
|
+
* supertoken: superToken
|
|
34
|
+
* },
|
|
35
|
+
* config: {
|
|
36
|
+
* credentials: {
|
|
37
|
+
* client_id,
|
|
38
|
+
* client_secret
|
|
39
|
+
* },
|
|
40
|
+
* proxy: 'http://myproxy.company.com'
|
|
41
|
+
* }
|
|
42
|
+
* });
|
|
43
|
+
*/
|
|
44
|
+
var ProxyInterceptor = exports.default = /*#__PURE__*/function (_Interceptor) {
|
|
45
|
+
(0, _inherits2.default)(ProxyInterceptor, _Interceptor);
|
|
46
|
+
var _super = _createSuper(ProxyInterceptor);
|
|
47
|
+
/**
|
|
48
|
+
* @param {Object} [options={}]
|
|
49
|
+
* @param {WebexCore} [options.webex]
|
|
50
|
+
* @private
|
|
51
|
+
* @returns {ProxyInterceptor}
|
|
52
|
+
*/
|
|
53
|
+
function ProxyInterceptor() {
|
|
54
|
+
var _this;
|
|
55
|
+
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
56
|
+
(0, _classCallCheck2.default)(this, ProxyInterceptor);
|
|
57
|
+
var proxy = (0, _lodash.get)(options, 'webex.config.proxy');
|
|
58
|
+
_this = _super.call(this, options);
|
|
59
|
+
if (proxy) {
|
|
60
|
+
strings.set((0, _assertThisInitialized2.default)(_this), proxy);
|
|
61
|
+
}
|
|
62
|
+
return _this;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
/**
|
|
66
|
+
* @returns {ProxyInterceptor}
|
|
67
|
+
*/
|
|
68
|
+
(0, _createClass2.default)(ProxyInterceptor, [{
|
|
69
|
+
key: "onRequest",
|
|
70
|
+
value:
|
|
71
|
+
/**
|
|
72
|
+
* @see Interceptor#onRequest
|
|
73
|
+
* @param {Object} options
|
|
74
|
+
* @returns {Object}
|
|
75
|
+
*/
|
|
76
|
+
function onRequest(options) {
|
|
77
|
+
// Do not set a proxy for browsers
|
|
78
|
+
if (_common.inBrowser) {
|
|
79
|
+
return options;
|
|
80
|
+
}
|
|
81
|
+
var proxy = strings.get(this);
|
|
82
|
+
if (proxy) {
|
|
83
|
+
options.proxy = proxy;
|
|
84
|
+
}
|
|
85
|
+
return options;
|
|
86
|
+
}
|
|
87
|
+
}], [{
|
|
88
|
+
key: "create",
|
|
89
|
+
value: function create() {
|
|
90
|
+
return new ProxyInterceptor({
|
|
91
|
+
webex: this
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
}]);
|
|
95
|
+
return ProxyInterceptor;
|
|
96
|
+
}(_httpCore.Interceptor);
|
|
97
|
+
//# sourceMappingURL=proxy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_common","require","_httpCore","_lodash","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","default","result","NewTarget","constructor","_Reflect$construct","arguments","apply","_possibleConstructorReturn2","Reflect","sham","Proxy","Boolean","prototype","valueOf","call","e","strings","_weakMap","ProxyInterceptor","exports","_Interceptor","_inherits2","_super","_this","options","length","undefined","_classCallCheck2","proxy","get","set","_assertThisInitialized2","_createClass2","key","value","onRequest","inBrowser","create","webex","Interceptor"],"sources":["proxy.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport {inBrowser} from '@webex/common';\nimport {Interceptor} from '@webex/http-core';\nimport {get} from 'lodash';\n\nconst strings = new WeakMap();\n\n/**\n * Sets a proxy on all requests if one is not present.\n * Defaults to none, though a custom proxy can be set\n * using the proxy configuration. e.g.\n *\n * webex = WebexSdk.init({\n * credentials: {\n * supertoken: superToken\n * },\n * config: {\n * credentials: {\n * client_id,\n * client_secret\n * },\n * proxy: 'http://myproxy.company.com'\n * }\n * });\n */\nexport default class ProxyInterceptor extends Interceptor {\n /**\n * @param {Object} [options={}]\n * @param {WebexCore} [options.webex]\n * @private\n * @returns {ProxyInterceptor}\n */\n constructor(options = {}) {\n const proxy = get(options, 'webex.config.proxy');\n\n super(options);\n if (proxy) {\n strings.set(this, proxy);\n }\n }\n\n /**\n * @returns {ProxyInterceptor}\n */\n static create() {\n return new ProxyInterceptor({webex: this});\n }\n\n /**\n * @see Interceptor#onRequest\n * @param {Object} options\n * @returns {Object}\n */\n onRequest(options) {\n // Do not set a proxy for browsers\n if (inBrowser) {\n return options;\n }\n\n const proxy = strings.get(this);\n if (proxy) {\n options.proxy = proxy;\n }\n\n return options;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAIA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AAA2B,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,sBAN3B;AACA;AACA;AAMA,IAAMC,OAAO,GAAG,IAAAC,QAAA,CAAAjB,OAAA,CAAY,CAAC;;AAE7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAjBA,IAkBqBkB,gBAAgB,GAAAC,OAAA,CAAAnB,OAAA,0BAAAoB,YAAA;EAAA,IAAAC,UAAA,CAAArB,OAAA,EAAAkB,gBAAA,EAAAE,YAAA;EAAA,IAAAE,MAAA,GAAA7B,YAAA,CAAAyB,gBAAA;EACnC;AACF;AACA;AACA;AACA;AACA;EACE,SAAAA,iBAAA,EAA0B;IAAA,IAAAK,KAAA;IAAA,IAAdC,OAAO,GAAAnB,SAAA,CAAAoB,MAAA,QAAApB,SAAA,QAAAqB,SAAA,GAAArB,SAAA,MAAG,CAAC,CAAC;IAAA,IAAAsB,gBAAA,CAAA3B,OAAA,QAAAkB,gBAAA;IACtB,IAAMU,KAAK,GAAG,IAAAC,WAAG,EAACL,OAAO,EAAE,oBAAoB,CAAC;IAEhDD,KAAA,GAAAD,MAAA,CAAAR,IAAA,OAAMU,OAAO;IACb,IAAII,KAAK,EAAE;MACTZ,OAAO,CAACc,GAAG,KAAAC,uBAAA,CAAA/B,OAAA,EAAAuB,KAAA,GAAOK,KAAK,CAAC;IAC1B;IAAC,OAAAL,KAAA;EACH;;EAEA;AACF;AACA;EAFE,IAAAS,aAAA,CAAAhC,OAAA,EAAAkB,gBAAA;IAAAe,GAAA;IAAAC,KAAA;IAOA;AACF;AACA;AACA;AACA;IACE,SAAAC,UAAUX,OAAO,EAAE;MACjB;MACA,IAAIY,iBAAS,EAAE;QACb,OAAOZ,OAAO;MAChB;MAEA,IAAMI,KAAK,GAAGZ,OAAO,CAACa,GAAG,CAAC,IAAI,CAAC;MAC/B,IAAID,KAAK,EAAE;QACTJ,OAAO,CAACI,KAAK,GAAGA,KAAK;MACvB;MAEA,OAAOJ,OAAO;IAChB;EAAC;IAAAS,GAAA;IAAAC,KAAA,EArBD,SAAAG,OAAA,EAAgB;MACd,OAAO,IAAInB,gBAAgB,CAAC;QAACoB,KAAK,EAAE;MAAI,CAAC,CAAC;IAC5C;EAAC;EAAA,OAAApB,gBAAA;AAAA,EArB2CqB,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.
|
|
289
|
+
version: "3.10.0-next.2"
|
|
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.
|
|
561
|
+
version: "3.10.0-next.2"
|
|
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.
|
|
535
|
+
version: "3.10.0-next.2"
|
|
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
|
|
@@ -11,9 +11,10 @@ _Object$defineProperty(exports, "__esModule", {
|
|
|
11
11
|
value: true
|
|
12
12
|
});
|
|
13
13
|
exports.default = exports.DEFAULT_CLUSTER_SERVICE = exports.DEFAULT_CLUSTER = void 0;
|
|
14
|
-
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/slicedToArray"));
|
|
15
14
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/defineProperty"));
|
|
15
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/slicedToArray"));
|
|
16
16
|
var _weakMap = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/weak-map"));
|
|
17
|
+
var _entries = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/object/entries"));
|
|
17
18
|
var _keys = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/object/keys"));
|
|
18
19
|
var _promise = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/promise"));
|
|
19
20
|
var _sha = _interopRequireDefault(require("crypto-js/sha256"));
|
|
@@ -69,6 +70,8 @@ var Services = _webexPlugin.default.extend({
|
|
|
69
70
|
_catalogs: new _weakMap.default(),
|
|
70
71
|
_serviceUrls: null,
|
|
71
72
|
_hostCatalog: null,
|
|
73
|
+
// Map of active cluster ids per service, e.g. { wdm: 'urn:TEAM:ap-southeast-2_m:wdm' }
|
|
74
|
+
_activeServices: {},
|
|
72
75
|
/**
|
|
73
76
|
* Get the registry associated with this webex instance.
|
|
74
77
|
*
|
|
@@ -156,6 +159,42 @@ var Services = _webexPlugin.default.extend({
|
|
|
156
159
|
var catalog = this._getCatalog();
|
|
157
160
|
return catalog.markFailedUrl(url, noPriorityHosts);
|
|
158
161
|
},
|
|
162
|
+
/**
|
|
163
|
+
* Get all Mobius cluster host entries from the legacy host catalog.
|
|
164
|
+
* @returns {Array<Object>}
|
|
165
|
+
*/
|
|
166
|
+
getMobiusClusters: function getMobiusClusters() {
|
|
167
|
+
var clusters = [];
|
|
168
|
+
var hostCatalog = this._hostCatalog || {};
|
|
169
|
+
(0, _entries.default)(hostCatalog).forEach(function (_ref) {
|
|
170
|
+
var _ref2 = (0, _slicedToArray2.default)(_ref, 2),
|
|
171
|
+
host = _ref2[0],
|
|
172
|
+
entries = _ref2[1];
|
|
173
|
+
(entries || []).forEach(function (entry) {
|
|
174
|
+
if (typeof (entry === null || entry === void 0 ? void 0 : entry.id) === 'string' && entry.id.endsWith(':mobius')) {
|
|
175
|
+
// Ensure host is included; prefer entry.host if present, else use the map key
|
|
176
|
+
var withHost = entry.host ? entry.host : host;
|
|
177
|
+
// Skip duplicates for the same host
|
|
178
|
+
if (!clusters.find(function (c) {
|
|
179
|
+
return c && c.host === withHost;
|
|
180
|
+
})) {
|
|
181
|
+
clusters.push(_objectSpread(_objectSpread({}, entry), {}, {
|
|
182
|
+
host: withHost
|
|
183
|
+
}));
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
});
|
|
187
|
+
});
|
|
188
|
+
return clusters;
|
|
189
|
+
},
|
|
190
|
+
/**
|
|
191
|
+
* Merge provided active cluster mappings into current state.
|
|
192
|
+
* @param {Record<string,string>} activeServices
|
|
193
|
+
* @returns {void}
|
|
194
|
+
*/
|
|
195
|
+
_updateActiveServices: function _updateActiveServices(activeServices) {
|
|
196
|
+
this._activeServices = _objectSpread(_objectSpread({}, this._activeServices), activeServices);
|
|
197
|
+
},
|
|
159
198
|
/**
|
|
160
199
|
* saves all the services from the pre and post catalog service
|
|
161
200
|
* @param {Object} serviceUrls
|
|
@@ -187,11 +226,11 @@ var Services = _webexPlugin.default.extend({
|
|
|
187
226
|
*/
|
|
188
227
|
updateServices: function updateServices() {
|
|
189
228
|
var _this = this;
|
|
190
|
-
var
|
|
191
|
-
from =
|
|
192
|
-
query =
|
|
193
|
-
token =
|
|
194
|
-
forceRefresh =
|
|
229
|
+
var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
230
|
+
from = _ref3.from,
|
|
231
|
+
query = _ref3.query,
|
|
232
|
+
token = _ref3.token,
|
|
233
|
+
forceRefresh = _ref3.forceRefresh;
|
|
195
234
|
var catalog = this._getCatalog();
|
|
196
235
|
var formattedQuery;
|
|
197
236
|
var serviceGroup;
|
|
@@ -267,16 +306,16 @@ var Services = _webexPlugin.default.extend({
|
|
|
267
306
|
* @param {ValidateUserPTO} - The parameter transfer object.
|
|
268
307
|
* @returns {ValidateUserRTO} - The return transfer object.
|
|
269
308
|
*/
|
|
270
|
-
validateUser: function validateUser(
|
|
309
|
+
validateUser: function validateUser(_ref4) {
|
|
271
310
|
var _this2 = this;
|
|
272
|
-
var email =
|
|
273
|
-
|
|
274
|
-
reqId =
|
|
275
|
-
|
|
276
|
-
forceRefresh =
|
|
277
|
-
|
|
278
|
-
activationOptions =
|
|
279
|
-
preloginUserId =
|
|
311
|
+
var email = _ref4.email,
|
|
312
|
+
_ref4$reqId = _ref4.reqId,
|
|
313
|
+
reqId = _ref4$reqId === void 0 ? 'WEBCLIENT' : _ref4$reqId,
|
|
314
|
+
_ref4$forceRefresh = _ref4.forceRefresh,
|
|
315
|
+
forceRefresh = _ref4$forceRefresh === void 0 ? false : _ref4$forceRefresh,
|
|
316
|
+
_ref4$activationOptio = _ref4.activationOptions,
|
|
317
|
+
activationOptions = _ref4$activationOptio === void 0 ? {} : _ref4$activationOptio,
|
|
318
|
+
preloginUserId = _ref4.preloginUserId;
|
|
280
319
|
this.logger.info('services: validating a user');
|
|
281
320
|
|
|
282
321
|
// Validate that an email parameter key was provided.
|
|
@@ -374,10 +413,10 @@ var Services = _webexPlugin.default.extend({
|
|
|
374
413
|
activationOptions: activationOptions,
|
|
375
414
|
preloginUserId: preloginUserId
|
|
376
415
|
})]);
|
|
377
|
-
}).then(function (
|
|
378
|
-
var
|
|
379
|
-
rto =
|
|
380
|
-
user =
|
|
416
|
+
}).then(function (_ref5) {
|
|
417
|
+
var _ref6 = (0, _slicedToArray2.default)(_ref5, 2),
|
|
418
|
+
rto = _ref6[0],
|
|
419
|
+
user = _ref6[1];
|
|
381
420
|
return _objectSpread(_objectSpread({}, rto), {}, {
|
|
382
421
|
user: user
|
|
383
422
|
});
|
|
@@ -447,13 +486,13 @@ var Services = _webexPlugin.default.extend({
|
|
|
447
486
|
* @param {SendUserActivationPTO} - The Parameter transfer object.
|
|
448
487
|
* @returns {LicenseDTO} - The DTO returned from the **License** service.
|
|
449
488
|
*/
|
|
450
|
-
sendUserActivation: function sendUserActivation(
|
|
489
|
+
sendUserActivation: function sendUserActivation(_ref7) {
|
|
451
490
|
var _this5 = this;
|
|
452
|
-
var email =
|
|
453
|
-
reqId =
|
|
454
|
-
token =
|
|
455
|
-
activationOptions =
|
|
456
|
-
preloginUserId =
|
|
491
|
+
var email = _ref7.email,
|
|
492
|
+
reqId = _ref7.reqId,
|
|
493
|
+
token = _ref7.token,
|
|
494
|
+
activationOptions = _ref7.activationOptions,
|
|
495
|
+
preloginUserId = _ref7.preloginUserId;
|
|
457
496
|
this.logger.info('services: sending user activation request');
|
|
458
497
|
var countryCode;
|
|
459
498
|
var timezone;
|
|
@@ -485,8 +524,8 @@ var Services = _webexPlugin.default.extend({
|
|
|
485
524
|
});
|
|
486
525
|
})
|
|
487
526
|
// On success, return the **License** user object.
|
|
488
|
-
.then(function (
|
|
489
|
-
var body =
|
|
527
|
+
.then(function (_ref8) {
|
|
528
|
+
var body = _ref8.body;
|
|
490
529
|
return body;
|
|
491
530
|
})
|
|
492
531
|
// On failure, reject with error from **License**.
|
|
@@ -539,10 +578,10 @@ var Services = _webexPlugin.default.extend({
|
|
|
539
578
|
* @returns {Promise<void>}
|
|
540
579
|
*/
|
|
541
580
|
collectSigninCatalog: function collectSigninCatalog() {
|
|
542
|
-
var
|
|
543
|
-
email =
|
|
544
|
-
token =
|
|
545
|
-
forceRefresh =
|
|
581
|
+
var _ref9 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
582
|
+
email = _ref9.email,
|
|
583
|
+
token = _ref9.token,
|
|
584
|
+
forceRefresh = _ref9.forceRefresh;
|
|
546
585
|
if (!email) {
|
|
547
586
|
return _promise.default.reject(new Error('`email` is required'));
|
|
548
587
|
}
|
|
@@ -621,12 +660,12 @@ var Services = _webexPlugin.default.extend({
|
|
|
621
660
|
* @param {WaitForServicePTO} - The parameter transfer object.
|
|
622
661
|
* @returns {Promise<string>} - Resolves to the priority host of a service.
|
|
623
662
|
*/
|
|
624
|
-
waitForService: function waitForService(
|
|
663
|
+
waitForService: function waitForService(_ref10) {
|
|
625
664
|
var _this6 = this;
|
|
626
|
-
var name =
|
|
627
|
-
|
|
628
|
-
timeout =
|
|
629
|
-
url =
|
|
665
|
+
var name = _ref10.name,
|
|
666
|
+
_ref10$timeout = _ref10.timeout,
|
|
667
|
+
timeout = _ref10$timeout === void 0 ? 5 : _ref10$timeout,
|
|
668
|
+
url = _ref10.url;
|
|
630
669
|
var services = this.webex.config.services;
|
|
631
670
|
|
|
632
671
|
// Save memory by grabbing the catalog after there isn't a priortyURL
|
|
@@ -804,9 +843,9 @@ var Services = _webexPlugin.default.extend({
|
|
|
804
843
|
* @returns {String} url of the service
|
|
805
844
|
*/
|
|
806
845
|
getServiceUrlFromClusterId: function getServiceUrlFromClusterId() {
|
|
807
|
-
var
|
|
808
|
-
|
|
809
|
-
cluster =
|
|
846
|
+
var _ref11 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
847
|
+
_ref11$cluster = _ref11.cluster,
|
|
848
|
+
cluster = _ref11$cluster === void 0 ? 'us' : _ref11$cluster;
|
|
810
849
|
var clusterId = cluster === 'us' ? DEFAULT_CLUSTER_IDENTIFIER : cluster;
|
|
811
850
|
|
|
812
851
|
// Determine if cluster has service name (non-US clusters from hydra do not)
|
|
@@ -814,10 +853,10 @@ var Services = _webexPlugin.default.extend({
|
|
|
814
853
|
// Add Service to cluster identifier
|
|
815
854
|
clusterId = "".concat(cluster, ":").concat(CLUSTER_SERVICE);
|
|
816
855
|
}
|
|
817
|
-
var
|
|
856
|
+
var _ref12 = this.getServiceFromClusterId({
|
|
818
857
|
clusterId: clusterId
|
|
819
858
|
}) || {},
|
|
820
|
-
url =
|
|
859
|
+
url = _ref12.url;
|
|
821
860
|
if (!url) {
|
|
822
861
|
throw Error("Could not find service for cluster [".concat(cluster, "]"));
|
|
823
862
|
}
|
|
@@ -896,11 +935,11 @@ var Services = _webexPlugin.default.extend({
|
|
|
896
935
|
*/
|
|
897
936
|
_fetchNewServiceHostmap: function _fetchNewServiceHostmap() {
|
|
898
937
|
var _this7 = this;
|
|
899
|
-
var
|
|
900
|
-
from =
|
|
901
|
-
query =
|
|
902
|
-
token =
|
|
903
|
-
forceRefresh =
|
|
938
|
+
var _ref13 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
939
|
+
from = _ref13.from,
|
|
940
|
+
query = _ref13.query,
|
|
941
|
+
token = _ref13.token,
|
|
942
|
+
forceRefresh = _ref13.forceRefresh;
|
|
904
943
|
var service = 'u2c';
|
|
905
944
|
var resource = from ? "/".concat(from, "/catalog") : '/catalog';
|
|
906
945
|
var qs = _objectSpread(_objectSpread({}, query), {}, {
|
|
@@ -922,8 +961,8 @@ var Services = _webexPlugin.default.extend({
|
|
|
922
961
|
}
|
|
923
962
|
return this.webex.internal.newMetrics.callDiagnosticLatencies.measureLatency(function () {
|
|
924
963
|
return _this7.request(requestObject);
|
|
925
|
-
}, 'internal.get.u2c.time').then(function (
|
|
926
|
-
var body =
|
|
964
|
+
}, 'internal.get.u2c.time').then(function (_ref14) {
|
|
965
|
+
var body = _ref14.body;
|
|
927
966
|
return _this7._formatReceivedHostmap(body);
|
|
928
967
|
});
|
|
929
968
|
},
|
|
@@ -1067,7 +1106,7 @@ var Services = _webexPlugin.default.extend({
|
|
|
1067
1106
|
}
|
|
1068
1107
|
});
|
|
1069
1108
|
},
|
|
1070
|
-
version: "3.
|
|
1109
|
+
version: "3.10.0-next.2"
|
|
1071
1110
|
});
|
|
1072
1111
|
/* eslint-enable no-underscore-dangle */
|
|
1073
1112
|
var _default = exports.default = Services;
|