@webex/webex-core 3.10.0 → 3.11.0
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/config.js +14 -0
- package/dist/config.js.map +1 -1
- package/dist/credentials-config.js.map +1 -1
- package/dist/index.js +1 -2
- package/dist/index.js.map +1 -1
- package/dist/interceptors/auth.js +6 -8
- package/dist/interceptors/auth.js.map +1 -1
- package/dist/interceptors/default-options.js +6 -8
- package/dist/interceptors/default-options.js.map +1 -1
- package/dist/interceptors/embargo.js +6 -8
- package/dist/interceptors/embargo.js.map +1 -1
- package/dist/interceptors/network-timing.js +6 -8
- package/dist/interceptors/network-timing.js.map +1 -1
- package/dist/interceptors/payload-transformer.js +6 -8
- package/dist/interceptors/payload-transformer.js.map +1 -1
- package/dist/interceptors/proxy.js +7 -10
- package/dist/interceptors/proxy.js.map +1 -1
- package/dist/interceptors/rate-limit.js +7 -10
- package/dist/interceptors/rate-limit.js.map +1 -1
- package/dist/interceptors/redirect.js +9 -8
- package/dist/interceptors/redirect.js.map +1 -1
- package/dist/interceptors/request-event.js +6 -8
- package/dist/interceptors/request-event.js.map +1 -1
- package/dist/interceptors/request-logger.js +6 -8
- package/dist/interceptors/request-logger.js.map +1 -1
- package/dist/interceptors/request-timing.js +6 -8
- package/dist/interceptors/request-timing.js.map +1 -1
- package/dist/interceptors/response-logger.js +6 -8
- package/dist/interceptors/response-logger.js.map +1 -1
- package/dist/interceptors/user-agent.js +8 -11
- package/dist/interceptors/user-agent.js.map +1 -1
- package/dist/interceptors/webex-tracking-id.js +6 -8
- package/dist/interceptors/webex-tracking-id.js.map +1 -1
- package/dist/interceptors/webex-user-agent.js +7 -10
- package/dist/interceptors/webex-user-agent.js.map +1 -1
- package/dist/lib/batcher.js +1 -1
- package/dist/lib/batcher.js.map +1 -1
- package/dist/lib/constants.js.map +1 -1
- package/dist/lib/credentials/credentials.js +4 -6
- package/dist/lib/credentials/credentials.js.map +1 -1
- package/dist/lib/credentials/grant-errors.js +18 -26
- package/dist/lib/credentials/grant-errors.js.map +1 -1
- package/dist/lib/credentials/index.js.map +1 -1
- package/dist/lib/credentials/scope.js.map +1 -1
- package/dist/lib/credentials/token-collection.js.map +1 -1
- package/dist/lib/credentials/token.js +5 -5
- package/dist/lib/credentials/token.js.map +1 -1
- package/dist/lib/interceptors/hostmap.js +6 -8
- package/dist/lib/interceptors/hostmap.js.map +1 -1
- package/dist/lib/interceptors/server-error.js +6 -8
- package/dist/lib/interceptors/server-error.js.map +1 -1
- package/dist/lib/interceptors/service.js +6 -8
- package/dist/lib/interceptors/service.js.map +1 -1
- package/dist/lib/metrics.js.map +1 -1
- package/dist/lib/page.js +5 -6
- package/dist/lib/page.js.map +1 -1
- package/dist/lib/services/index.js.map +1 -1
- package/dist/lib/services/service-catalog.js +3 -3
- package/dist/lib/services/service-catalog.js.map +1 -1
- package/dist/lib/services/service-fed-ramp.js.map +1 -1
- package/dist/lib/services/service-host.js +1 -2
- package/dist/lib/services/service-host.js.map +1 -1
- package/dist/lib/services/service-registry.js +1 -2
- package/dist/lib/services/service-registry.js.map +1 -1
- package/dist/lib/services/service-state.js +1 -2
- package/dist/lib/services/service-state.js.map +1 -1
- package/dist/lib/services/service-url.js +11 -1
- package/dist/lib/services/service-url.js.map +1 -1
- package/dist/lib/services/services.js +485 -127
- package/dist/lib/services/services.js.map +1 -1
- package/dist/lib/services-v2/index.js.map +1 -1
- package/dist/lib/services-v2/metrics.js.map +1 -1
- package/dist/lib/services-v2/service-catalog.js +7 -7
- package/dist/lib/services-v2/service-catalog.js.map +1 -1
- package/dist/lib/services-v2/service-detail.js.map +1 -1
- package/dist/lib/services-v2/service-fed-ramp.js.map +1 -1
- package/dist/lib/services-v2/services-v2.js +379 -51
- package/dist/lib/services-v2/services-v2.js.map +1 -1
- package/dist/lib/services-v2/types.js.map +1 -1
- package/dist/lib/stateless-webex-plugin.js +3 -4
- package/dist/lib/stateless-webex-plugin.js.map +1 -1
- package/dist/lib/storage/decorators.js.map +1 -1
- package/dist/lib/storage/errors.js +7 -9
- package/dist/lib/storage/errors.js.map +1 -1
- package/dist/lib/storage/index.js.map +1 -1
- package/dist/lib/storage/make-webex-plugin-store.js +14 -5
- package/dist/lib/storage/make-webex-plugin-store.js.map +1 -1
- package/dist/lib/storage/make-webex-store.js +13 -5
- package/dist/lib/storage/make-webex-store.js.map +1 -1
- package/dist/lib/storage/memory-store-adapter.js.map +1 -1
- package/dist/lib/webex-core-plugin-mixin.js.map +1 -1
- package/dist/lib/webex-http-error.js +8 -11
- package/dist/lib/webex-http-error.js.map +1 -1
- package/dist/lib/webex-internal-core-plugin-mixin.js.map +1 -1
- package/dist/lib/webex-plugin.js.map +1 -1
- package/dist/plugins/logger.js +1 -1
- package/dist/plugins/logger.js.map +1 -1
- package/dist/webex-core.js +11 -11
- package/dist/webex-core.js.map +1 -1
- package/dist/webex-internal-core.js.map +1 -1
- package/package.json +13 -13
- package/src/config.js +15 -0
- package/src/interceptors/redirect.js +4 -0
- package/src/lib/services/service-url.js +9 -1
- package/src/lib/services/services.js +315 -7
- package/src/lib/services-v2/index.ts +0 -1
- package/src/lib/services-v2/service-catalog.ts +4 -4
- package/src/lib/services-v2/services-v2.ts +307 -7
- package/src/lib/services-v2/types.ts +13 -0
- package/test/fixtures/host-catalog-v2.ts +1 -1
- package/test/integration/spec/services/service-catalog.js +10 -4
- package/test/integration/spec/services/services.js +65 -9
- package/test/integration/spec/services-v2/service-catalog.js +2 -2
- package/test/integration/spec/services-v2/services-v2.js +56 -6
- package/test/unit/spec/interceptors/redirect.js +98 -0
- package/test/unit/spec/services/service-url.js +110 -0
- package/test/unit/spec/services/services.js +411 -2
- package/test/unit/spec/services-v2/services-v2.ts +316 -0
|
@@ -9,16 +9,15 @@ _Object$defineProperty(exports, "__esModule", {
|
|
|
9
9
|
exports.default = void 0;
|
|
10
10
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/classCallCheck"));
|
|
11
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
12
|
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/possibleConstructorReturn"));
|
|
15
13
|
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/getPrototypeOf"));
|
|
14
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/inherits"));
|
|
16
15
|
var _weakMap = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/weak-map"));
|
|
17
16
|
var _common = require("@webex/common");
|
|
18
17
|
var _httpCore = require("@webex/http-core");
|
|
19
18
|
var _lodash = require("lodash");
|
|
20
|
-
function
|
|
21
|
-
function _isNativeReflectConstruct() {
|
|
19
|
+
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? _Reflect$construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
|
|
20
|
+
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(_Reflect$construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } /*!
|
|
22
21
|
* Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
|
|
23
22
|
*/
|
|
24
23
|
var strings = new _weakMap.default();
|
|
@@ -42,8 +41,6 @@ var strings = new _weakMap.default();
|
|
|
42
41
|
* });
|
|
43
42
|
*/
|
|
44
43
|
var ProxyInterceptor = exports.default = /*#__PURE__*/function (_Interceptor) {
|
|
45
|
-
(0, _inherits2.default)(ProxyInterceptor, _Interceptor);
|
|
46
|
-
var _super = _createSuper(ProxyInterceptor);
|
|
47
44
|
/**
|
|
48
45
|
* @param {Object} [options={}]
|
|
49
46
|
* @param {WebexCore} [options.webex]
|
|
@@ -55,9 +52,9 @@ var ProxyInterceptor = exports.default = /*#__PURE__*/function (_Interceptor) {
|
|
|
55
52
|
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
56
53
|
(0, _classCallCheck2.default)(this, ProxyInterceptor);
|
|
57
54
|
var proxy = (0, _lodash.get)(options, 'webex.config.proxy');
|
|
58
|
-
_this =
|
|
55
|
+
_this = _callSuper(this, ProxyInterceptor, [options]);
|
|
59
56
|
if (proxy) {
|
|
60
|
-
strings.set(
|
|
57
|
+
strings.set(_this, proxy);
|
|
61
58
|
}
|
|
62
59
|
return _this;
|
|
63
60
|
}
|
|
@@ -65,7 +62,8 @@ var ProxyInterceptor = exports.default = /*#__PURE__*/function (_Interceptor) {
|
|
|
65
62
|
/**
|
|
66
63
|
* @returns {ProxyInterceptor}
|
|
67
64
|
*/
|
|
68
|
-
(0,
|
|
65
|
+
(0, _inherits2.default)(ProxyInterceptor, _Interceptor);
|
|
66
|
+
return (0, _createClass2.default)(ProxyInterceptor, [{
|
|
69
67
|
key: "onRequest",
|
|
70
68
|
value:
|
|
71
69
|
/**
|
|
@@ -92,6 +90,5 @@ var ProxyInterceptor = exports.default = /*#__PURE__*/function (_Interceptor) {
|
|
|
92
90
|
});
|
|
93
91
|
}
|
|
94
92
|
}]);
|
|
95
|
-
return ProxyInterceptor;
|
|
96
93
|
}(_httpCore.Interceptor);
|
|
97
94
|
//# sourceMappingURL=proxy.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_common","require","_httpCore","_lodash","
|
|
1
|
+
{"version":3,"names":["_common","require","_httpCore","_lodash","_callSuper","t","o","e","_getPrototypeOf2","default","_possibleConstructorReturn2","_isNativeReflectConstruct","_Reflect$construct","constructor","apply","Boolean","prototype","valueOf","call","strings","_weakMap","ProxyInterceptor","exports","_Interceptor","_this","options","arguments","length","undefined","_classCallCheck2","proxy","get","set","_inherits2","_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,WAAAC,CAAA,EAAAC,CAAA,EAAAC,CAAA,WAAAD,CAAA,OAAAE,gBAAA,CAAAC,OAAA,EAAAH,CAAA,OAAAI,2BAAA,CAAAD,OAAA,EAAAJ,CAAA,EAAAM,yBAAA,KAAAC,kBAAA,CAAAN,CAAA,EAAAC,CAAA,YAAAC,gBAAA,CAAAC,OAAA,EAAAJ,CAAA,EAAAQ,WAAA,IAAAP,CAAA,CAAAQ,KAAA,CAAAT,CAAA,EAAAE,CAAA;AAAA,SAAAI,0BAAA,cAAAN,CAAA,IAAAU,OAAA,CAAAC,SAAA,CAAAC,OAAA,CAAAC,IAAA,CAAAN,kBAAA,CAAAG,OAAA,iCAAAV,CAAA,aAAAM,yBAAA,YAAAA,0BAAA,aAAAN,CAAA,UAN3B;AACA;AACA;AAMA,IAAMc,OAAO,GAAG,IAAAC,QAAA,CAAAX,OAAA,CAAY,CAAC;;AAE7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAjBA,IAkBqBY,gBAAgB,GAAAC,OAAA,CAAAb,OAAA,0BAAAc,YAAA;EACnC;AACF;AACA;AACA;AACA;AACA;EACE,SAAAF,iBAAA,EAA0B;IAAA,IAAAG,KAAA;IAAA,IAAdC,OAAO,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;IAAA,IAAAG,gBAAA,CAAApB,OAAA,QAAAY,gBAAA;IACtB,IAAMS,KAAK,GAAG,IAAAC,WAAG,EAACN,OAAO,EAAE,oBAAoB,CAAC;IAEhDD,KAAA,GAAApB,UAAA,OAAAiB,gBAAA,GAAMI,OAAO;IACb,IAAIK,KAAK,EAAE;MACTX,OAAO,CAACa,GAAG,CAAAR,KAAA,EAAOM,KAAK,CAAC;IAC1B;IAAC,OAAAN,KAAA;EACH;;EAEA;AACF;AACA;EAFE,IAAAS,UAAA,CAAAxB,OAAA,EAAAY,gBAAA,EAAAE,YAAA;EAAA,WAAAW,aAAA,CAAAzB,OAAA,EAAAY,gBAAA;IAAAc,GAAA;IAAAC,KAAA;IAOA;AACF;AACA;AACA;AACA;IACE,SAAAC,SAASA,CAACZ,OAAO,EAAE;MACjB;MACA,IAAIa,iBAAS,EAAE;QACb,OAAOb,OAAO;MAChB;MAEA,IAAMK,KAAK,GAAGX,OAAO,CAACY,GAAG,CAAC,IAAI,CAAC;MAC/B,IAAID,KAAK,EAAE;QACTL,OAAO,CAACK,KAAK,GAAGA,KAAK;MACvB;MAEA,OAAOL,OAAO;IAChB;EAAC;IAAAU,GAAA;IAAAC,KAAA,EArBD,SAAOG,MAAMA,CAAA,EAAG;MACd,OAAO,IAAIlB,gBAAgB,CAAC;QAACmB,KAAK,EAAE;MAAI,CAAC,CAAC;IAC5C;EAAC;AAAA,EArB2CC,qBAAW","ignoreList":[]}
|
|
@@ -9,16 +9,15 @@ _Object$defineProperty(exports, "__esModule", {
|
|
|
9
9
|
exports.default = void 0;
|
|
10
10
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/classCallCheck"));
|
|
11
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
12
|
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/possibleConstructorReturn"));
|
|
15
13
|
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/getPrototypeOf"));
|
|
14
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/inherits"));
|
|
16
15
|
var _weakMap = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/weak-map"));
|
|
17
16
|
var _map = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/map"));
|
|
18
17
|
var _promise = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/promise"));
|
|
19
18
|
var _httpCore = require("@webex/http-core");
|
|
20
|
-
function
|
|
21
|
-
function _isNativeReflectConstruct() {
|
|
19
|
+
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? _Reflect$construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
|
|
20
|
+
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(_Reflect$construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } /*!
|
|
22
21
|
* Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
|
|
23
22
|
*/
|
|
24
23
|
// contains the system time in milliseconds at which the retry after associated with a 429 expires
|
|
@@ -32,8 +31,6 @@ var idBrokerRegex = /.*(idbroker|identity)(bts)?.ciscospark.com\/([^/]+)/;
|
|
|
32
31
|
* @class
|
|
33
32
|
*/
|
|
34
33
|
var RateLimitInterceptor = exports.default = /*#__PURE__*/function (_Interceptor) {
|
|
35
|
-
(0, _inherits2.default)(RateLimitInterceptor, _Interceptor);
|
|
36
|
-
var _super = _createSuper(RateLimitInterceptor);
|
|
37
34
|
/**
|
|
38
35
|
* constructor
|
|
39
36
|
* @param {mixed} args
|
|
@@ -45,8 +42,8 @@ var RateLimitInterceptor = exports.default = /*#__PURE__*/function (_Interceptor
|
|
|
45
42
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
46
43
|
args[_key] = arguments[_key];
|
|
47
44
|
}
|
|
48
|
-
_this =
|
|
49
|
-
rateLimitExpiryTime.set(
|
|
45
|
+
_this = _callSuper(this, RateLimitInterceptor, [].concat(args));
|
|
46
|
+
rateLimitExpiryTime.set(_this, new _map.default());
|
|
50
47
|
return _this;
|
|
51
48
|
}
|
|
52
49
|
|
|
@@ -55,7 +52,8 @@ var RateLimitInterceptor = exports.default = /*#__PURE__*/function (_Interceptor
|
|
|
55
52
|
* @param {Object} options
|
|
56
53
|
* @returns {Object}
|
|
57
54
|
*/
|
|
58
|
-
(0,
|
|
55
|
+
(0, _inherits2.default)(RateLimitInterceptor, _Interceptor);
|
|
56
|
+
return (0, _createClass2.default)(RateLimitInterceptor, [{
|
|
59
57
|
key: "onRequest",
|
|
60
58
|
value: function onRequest(options) {
|
|
61
59
|
if (this.isRateLimited(options.uri)) {
|
|
@@ -196,6 +194,5 @@ var RateLimitInterceptor = exports.default = /*#__PURE__*/function (_Interceptor
|
|
|
196
194
|
});
|
|
197
195
|
}
|
|
198
196
|
}]);
|
|
199
|
-
return RateLimitInterceptor;
|
|
200
197
|
}(_httpCore.Interceptor);
|
|
201
198
|
//# sourceMappingURL=rate-limit.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_httpCore","require","
|
|
1
|
+
{"version":3,"names":["_httpCore","require","_callSuper","t","o","e","_getPrototypeOf2","default","_possibleConstructorReturn2","_isNativeReflectConstruct","_Reflect$construct","constructor","apply","Boolean","prototype","valueOf","call","rateLimitExpiryTime","_weakMap","idBrokerRegex","RateLimitInterceptor","exports","_Interceptor","_this","_classCallCheck2","_len","arguments","length","args","Array","_key","concat","set","_map","_inherits2","_createClass2","key","value","onRequest","options","isRateLimited","uri","_promise","reject","Error","resolve","onResponseError","reason","statusCode","includes","setRateLimitExpiry","extractRetryAfterTime","milliMultiplier","retryAfter","headers","apiName","getApiName","currTimeMilli","Date","getTime","expiry","dict","get","getRateLimitStatus","expiryTime","undefined","results","match","create","webex","Interceptor"],"sources":["rate-limit.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport {Interceptor} from '@webex/http-core';\n\n// contains the system time in milliseconds at which the retry after associated with a 429 expires\n// mapped by the API name, e.g.: idbroker.webex.com/doStuff would be mapped as 'doStuff'\nconst rateLimitExpiryTime = new WeakMap();\n\n// extracts the common identity API being called\nconst idBrokerRegex = /.*(idbroker|identity)(bts)?.ciscospark.com\\/([^/]+)/;\n\n/**\n * @class\n */\nexport default class RateLimitInterceptor extends Interceptor {\n /**\n * @returns {RateLimitInterceptor}\n */\n static create() {\n return new RateLimitInterceptor({webex: this});\n }\n\n /**\n * constructor\n * @param {mixed} args\n * @returns {Exception}\n */\n constructor(...args) {\n super(...args);\n rateLimitExpiryTime.set(this, new Map());\n }\n\n /**\n * @see {@link Interceptor#onRequest}\n * @param {Object} options\n * @returns {Object}\n */\n onRequest(options) {\n if (this.isRateLimited(options.uri)) {\n return Promise.reject(new Error(`API rate limited ${options.uri}`));\n }\n\n return Promise.resolve(options);\n }\n\n /**\n * @see {@link Interceptor#onResponseError}\n * @param {Object} options\n * @param {Error} reason\n * @returns {Object}\n */\n onResponseError(options, reason) {\n if (\n reason.statusCode === 429 &&\n (options.uri.includes('idbroker') || options.uri.includes('identity'))\n ) {\n // set the retry after in the map, setting to milliseconds\n this.setRateLimitExpiry(options.uri, this.extractRetryAfterTime(options));\n }\n\n return Promise.reject(reason);\n }\n\n /**\n * @param {object} options associated with the request\n * @returns {number} retry after time in milliseconds\n */\n extractRetryAfterTime(options) {\n // 1S * 1K === 1MS\n const milliMultiplier = 1000;\n const retryAfter = options.headers['retry-after'] || null;\n\n // set 60 retry if no usable time defined\n if (retryAfter === null || retryAfter <= 0) {\n return 60 * milliMultiplier;\n }\n // set max to 3600 S (1 hour) if greater than 1 hour\n if (retryAfter > 3600) {\n return 3600 * milliMultiplier;\n }\n\n return retryAfter * milliMultiplier;\n }\n\n /**\n * Set the system time at which the rate limiting\n * will expire in the rateLimitExpiryTime map.\n * Assumes retryAfter is in milliseconds\n * @param {string} uri API issuing the rate limiting\n * @param {number} retryAfter milliseconds until rate limiting expires\n * @returns {bool} true is value was successfully set\n */\n setRateLimitExpiry(uri, retryAfter) {\n const apiName = this.getApiName(uri);\n\n if (!apiName) {\n return false;\n }\n\n const currTimeMilli = new Date().getTime();\n const expiry = currTimeMilli + retryAfter;\n const dict = rateLimitExpiryTime.get(this);\n\n return dict.set(apiName, expiry);\n }\n\n /**\n * returns true if the API is currently rate limited\n * @param {string} uri\n * @returns {Boolean} indicates whether or not the API is rate currently rate limited\n */\n getRateLimitStatus(uri) {\n const apiName = this.getApiName(uri);\n\n if (!apiName) {\n return false;\n }\n\n const currTimeMilli = new Date().getTime();\n const dict = rateLimitExpiryTime.get(this);\n const expiryTime = dict.get(apiName);\n\n // if no rate limit expiry has been registered in the map, return false.\n if (expiryTime === undefined) {\n return false;\n }\n\n // return true, indicating rate limiting, if the system time is less than the expiry time\n return currTimeMilli < dict.get(apiName);\n }\n\n /**\n * split the URI and returns the API name of idBroker\n * @param {string} uri\n * @returns {string}\n */\n getApiName(uri) {\n if (!uri) {\n return null;\n }\n\n const results = uri.match(idBrokerRegex);\n\n if (!results) {\n return null;\n }\n\n // group 0 = full match of URL, group 1 = identity or idbroker base\n // group 2 = api name\n return results[2];\n }\n\n /**\n * check URI against list of currently rate limited\n * URIs, and determines if retry-after\n * @param {String} uri pattern to check\n * @returns {bool}\n */\n isRateLimited(uri) {\n // determine if the URI is associated with a common identity API\n if (uri && (uri.includes('idbroker') || uri.includes('identity'))) {\n return this.getRateLimitStatus(uri);\n }\n\n return false;\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -11,13 +11,13 @@ var _deleteProperty = _interopRequireDefault(require("@babel/runtime-corejs2/cor
|
|
|
11
11
|
var _promise = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/promise"));
|
|
12
12
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/classCallCheck"));
|
|
13
13
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/createClass"));
|
|
14
|
-
var _inherits2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/inherits"));
|
|
15
14
|
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/possibleConstructorReturn"));
|
|
16
15
|
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/getPrototypeOf"));
|
|
16
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/inherits"));
|
|
17
17
|
var _lodash = require("lodash");
|
|
18
18
|
var _httpCore = require("@webex/http-core");
|
|
19
|
-
function
|
|
20
|
-
function _isNativeReflectConstruct() {
|
|
19
|
+
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? _Reflect$construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
|
|
20
|
+
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(_Reflect$construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } /* eslint-disable prefer-destructuring */ /*!
|
|
21
21
|
* Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
|
|
22
22
|
*/
|
|
23
23
|
var requestHeaderName = 'cisco-no-http-redirect';
|
|
@@ -29,13 +29,12 @@ var APPAPI_REDIRECT_ERROR = 404100;
|
|
|
29
29
|
* @class
|
|
30
30
|
*/
|
|
31
31
|
var RedirectInterceptor = exports.default = /*#__PURE__*/function (_Interceptor) {
|
|
32
|
-
(0, _inherits2.default)(RedirectInterceptor, _Interceptor);
|
|
33
|
-
var _super = _createSuper(RedirectInterceptor);
|
|
34
32
|
function RedirectInterceptor() {
|
|
35
33
|
(0, _classCallCheck2.default)(this, RedirectInterceptor);
|
|
36
|
-
return
|
|
34
|
+
return _callSuper(this, RedirectInterceptor, arguments);
|
|
37
35
|
}
|
|
38
|
-
(0,
|
|
36
|
+
(0, _inherits2.default)(RedirectInterceptor, _Interceptor);
|
|
37
|
+
return (0, _createClass2.default)(RedirectInterceptor, [{
|
|
39
38
|
key: "onRequest",
|
|
40
39
|
value:
|
|
41
40
|
/**
|
|
@@ -110,6 +109,9 @@ var RedirectInterceptor = exports.default = /*#__PURE__*/function (_Interceptor)
|
|
|
110
109
|
// for GET requests
|
|
111
110
|
options.uri = options.uri.replace(/(?<=https:\/\/)[^/]+/, response.body.data.siteFullUrl);
|
|
112
111
|
}
|
|
112
|
+
if (options.resource === 'preJoin' && options.service === 'webex-appapi-service') {
|
|
113
|
+
options.headers.authorization = false;
|
|
114
|
+
}
|
|
113
115
|
this.webex.logger.warn('redirect: url redirects needed to', options.uri);
|
|
114
116
|
options.$redirectCount += 1;
|
|
115
117
|
if (options.$redirectCount > this.webex.config.maxLocusRedirects) {
|
|
@@ -133,6 +135,5 @@ var RedirectInterceptor = exports.default = /*#__PURE__*/function (_Interceptor)
|
|
|
133
135
|
});
|
|
134
136
|
}
|
|
135
137
|
}]);
|
|
136
|
-
return RedirectInterceptor;
|
|
137
138
|
}(_httpCore.Interceptor);
|
|
138
139
|
//# sourceMappingURL=redirect.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_lodash","require","_httpCore","
|
|
1
|
+
{"version":3,"names":["_lodash","require","_httpCore","_callSuper","t","o","e","_getPrototypeOf2","default","_possibleConstructorReturn2","_isNativeReflectConstruct","_Reflect$construct","constructor","apply","Boolean","prototype","valueOf","call","requestHeaderName","responseHeaderName","LOCUS_REDIRECT_ERROR","APPAPI_REDIRECT_ERROR","RedirectInterceptor","exports","_Interceptor","_classCallCheck2","arguments","_inherits2","_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","resource","service","authorization","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 if (options.resource === 'preJoin' && options.service === 'webex-appapi-service') {\n options.headers.authorization = false;\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,WAAAC,CAAA,EAAAC,CAAA,EAAAC,CAAA,WAAAD,CAAA,OAAAE,gBAAA,CAAAC,OAAA,EAAAH,CAAA,OAAAI,2BAAA,CAAAD,OAAA,EAAAJ,CAAA,EAAAM,yBAAA,KAAAC,kBAAA,CAAAN,CAAA,EAAAC,CAAA,YAAAC,gBAAA,CAAAC,OAAA,EAAAJ,CAAA,EAAAQ,WAAA,IAAAP,CAAA,CAAAQ,KAAA,CAAAT,CAAA,EAAAE,CAAA;AAAA,SAAAI,0BAAA,cAAAN,CAAA,IAAAU,OAAA,CAAAC,SAAA,CAAAC,OAAA,CAAAC,IAAA,CAAAN,kBAAA,CAAAG,OAAA,iCAAAV,CAAA,aAAAM,yBAAA,YAAAA,0BAAA,aAAAN,CAAA,UAP7C,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,CAAAf,OAAA,0BAAAgB,YAAA;EAAA,SAAAF,oBAAA;IAAA,IAAAG,gBAAA,CAAAjB,OAAA,QAAAc,mBAAA;IAAA,OAAAnB,UAAA,OAAAmB,mBAAA,EAAAI,SAAA;EAAA;EAAA,IAAAC,UAAA,CAAAnB,OAAA,EAAAc,mBAAA,EAAAE,YAAA;EAAA,WAAAI,aAAA,CAAApB,OAAA,EAAAc,mBAAA;IAAAO,GAAA;IAAAC,KAAA;IAQtC;AACF;AACA;AACA;AACA;IACE,SAAAC,SAASA,CAACC,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,CAAAlC,OAAA,EAAuBwB,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,UAAUA,CAACZ,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,CAAAxC,OAAA,CAAQyC,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,CAAAxC,OAAA,CAAQyC,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/B,OAAO,CAACiC,QAAQ,KAAK,SAAS,IAAIjC,OAAO,CAACkC,OAAO,KAAK,sBAAsB,EAAE;UAChFlC,OAAO,CAACS,OAAO,CAAC0B,aAAa,GAAG,KAAK;QACvC;QAEA,IAAI,CAAChC,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,CAAAxC,OAAA,CAAQyC,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;IAtHD;AACF;AACA;IACE,SAAOsC,MAAMA,CAAA,EAAG;MACd,OAAO,IAAI9C,mBAAmB,CAAC;QAACa,KAAK,EAAE;MAAI,CAAC,CAAC;IAC/C;EAAC;AAAA,EAN8CkC,qBAAW","ignoreList":[]}
|
|
@@ -10,26 +10,25 @@ exports.default = void 0;
|
|
|
10
10
|
var _promise = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/promise"));
|
|
11
11
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/classCallCheck"));
|
|
12
12
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/createClass"));
|
|
13
|
-
var _inherits2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/inherits"));
|
|
14
13
|
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/possibleConstructorReturn"));
|
|
15
14
|
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/getPrototypeOf"));
|
|
15
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/inherits"));
|
|
16
16
|
var _lodash = require("lodash");
|
|
17
17
|
var _httpCore = require("@webex/http-core");
|
|
18
|
-
function
|
|
19
|
-
function _isNativeReflectConstruct() {
|
|
18
|
+
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? _Reflect$construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
|
|
19
|
+
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(_Reflect$construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } /*!
|
|
20
20
|
* Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
|
|
21
21
|
*/
|
|
22
22
|
/**
|
|
23
23
|
* @class
|
|
24
24
|
*/
|
|
25
25
|
var RequestEventInterceptor = exports.default = /*#__PURE__*/function (_Interceptor) {
|
|
26
|
-
(0, _inherits2.default)(RequestEventInterceptor, _Interceptor);
|
|
27
|
-
var _super = _createSuper(RequestEventInterceptor);
|
|
28
26
|
function RequestEventInterceptor() {
|
|
29
27
|
(0, _classCallCheck2.default)(this, RequestEventInterceptor);
|
|
30
|
-
return
|
|
28
|
+
return _callSuper(this, RequestEventInterceptor, arguments);
|
|
31
29
|
}
|
|
32
|
-
(0,
|
|
30
|
+
(0, _inherits2.default)(RequestEventInterceptor, _Interceptor);
|
|
31
|
+
return (0, _createClass2.default)(RequestEventInterceptor, [{
|
|
33
32
|
key: "onRequest",
|
|
34
33
|
value:
|
|
35
34
|
/**
|
|
@@ -116,6 +115,5 @@ var RequestEventInterceptor = exports.default = /*#__PURE__*/function (_Intercep
|
|
|
116
115
|
});
|
|
117
116
|
}
|
|
118
117
|
}]);
|
|
119
|
-
return RequestEventInterceptor;
|
|
120
118
|
}(_httpCore.Interceptor);
|
|
121
119
|
//# sourceMappingURL=request-event.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_lodash","require","_httpCore","
|
|
1
|
+
{"version":3,"names":["_lodash","require","_httpCore","_callSuper","t","o","e","_getPrototypeOf2","default","_possibleConstructorReturn2","_isNativeReflectConstruct","_Reflect$construct","constructor","apply","Boolean","prototype","valueOf","call","RequestEventInterceptor","exports","_Interceptor","_classCallCheck2","arguments","_inherits2","_createClass2","key","value","onRequest","options","logger","get","console","webex","trigger","error","warn","_promise","resolve","onRequestError","reason","reject","onResponse","response","onResponseError","create","Interceptor"],"sources":["request-event.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport {get} from 'lodash';\nimport {Interceptor} from '@webex/http-core';\n\n/**\n * @class\n */\nexport default class RequestEventInterceptor extends Interceptor {\n /**\n * @returns {RequestEventInterceptor}\n */\n static create() {\n return new RequestEventInterceptor({webex: this});\n }\n\n /**\n * @see Interceptor#onRequest\n * @param {Object} options\n * @returns {Object}\n */\n onRequest(options) {\n const logger = get(this, 'webex.logger', console);\n\n try {\n this.webex.trigger('request:start', options);\n } catch (error) {\n logger.warn('event handler for request:start failed ', error);\n }\n\n return Promise.resolve(options);\n }\n\n /**\n * @see Interceptor#onRequest\n * @param {Object} options\n * @param {Error} reason\n * @returns {Object}\n */\n onRequestError(options, reason) {\n // We need to do the normal onRequest logging, but then log how the request\n // failed since the response logger won't be called.\n const logger = get(this, 'webex.logger', console);\n\n try {\n this.webex.trigger('request:end', options, reason);\n this.webex.trigger('request:failure', options, reason);\n } catch (error) {\n logger.warn('event handler for request:end failed ', error);\n }\n\n return Promise.reject(reason);\n }\n\n /**\n * @see Interceptor#onResponse\n * @param {Object} options\n * @param {HttpResponse} response\n * @returns {Object}\n */\n onResponse(options, response) {\n const logger = get(this, 'webex.logger', console);\n\n try {\n this.webex.trigger('request:success', response.options, response);\n } catch (error) {\n logger.warn('event handler for request:success failed ', error);\n }\n\n return Promise.resolve(response);\n }\n\n /**\n * @see Interceptor#onResponseError\n * @param {Object} options\n * @param {Error} reason\n * @returns {Object}\n */\n onResponseError(options, reason) {\n const logger = get(this, 'webex.logger', console);\n\n try {\n this.webex.trigger('request:end', options, reason);\n this.webex.trigger('request:failure', options, reason);\n } catch (error) {\n logger.warn('event handler for request:failure failed ', error);\n }\n\n return Promise.reject(reason);\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -10,27 +10,26 @@ exports.default = void 0;
|
|
|
10
10
|
var _promise = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/promise"));
|
|
11
11
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/classCallCheck"));
|
|
12
12
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/createClass"));
|
|
13
|
-
var _inherits2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/inherits"));
|
|
14
13
|
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/possibleConstructorReturn"));
|
|
15
14
|
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/getPrototypeOf"));
|
|
15
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/inherits"));
|
|
16
16
|
var _util = _interopRequireDefault(require("util"));
|
|
17
17
|
var _lodash = require("lodash");
|
|
18
18
|
var _httpCore = require("@webex/http-core");
|
|
19
|
-
function
|
|
20
|
-
function _isNativeReflectConstruct() {
|
|
19
|
+
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? _Reflect$construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
|
|
20
|
+
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(_Reflect$construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } /*!
|
|
21
21
|
* Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
|
|
22
22
|
*/
|
|
23
23
|
/**
|
|
24
24
|
* @class
|
|
25
25
|
*/
|
|
26
26
|
var RequestLoggerInterceptor = exports.default = /*#__PURE__*/function (_Interceptor) {
|
|
27
|
-
(0, _inherits2.default)(RequestLoggerInterceptor, _Interceptor);
|
|
28
|
-
var _super = _createSuper(RequestLoggerInterceptor);
|
|
29
27
|
function RequestLoggerInterceptor() {
|
|
30
28
|
(0, _classCallCheck2.default)(this, RequestLoggerInterceptor);
|
|
31
|
-
return
|
|
29
|
+
return _callSuper(this, RequestLoggerInterceptor, arguments);
|
|
32
30
|
}
|
|
33
|
-
(0,
|
|
31
|
+
(0, _inherits2.default)(RequestLoggerInterceptor, _Interceptor);
|
|
32
|
+
return (0, _createClass2.default)(RequestLoggerInterceptor, [{
|
|
34
33
|
key: "onRequest",
|
|
35
34
|
value:
|
|
36
35
|
/**
|
|
@@ -98,6 +97,5 @@ var RequestLoggerInterceptor = exports.default = /*#__PURE__*/function (_Interce
|
|
|
98
97
|
});
|
|
99
98
|
}
|
|
100
99
|
}]);
|
|
101
|
-
return RequestLoggerInterceptor;
|
|
102
100
|
}(_httpCore.Interceptor);
|
|
103
101
|
//# sourceMappingURL=request-logger.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_util","_interopRequireDefault","require","_lodash","_httpCore","
|
|
1
|
+
{"version":3,"names":["_util","_interopRequireDefault","require","_lodash","_httpCore","_callSuper","t","o","e","_getPrototypeOf2","default","_possibleConstructorReturn2","_isNativeReflectConstruct","_Reflect$construct","constructor","apply","Boolean","prototype","valueOf","call","RequestLoggerInterceptor","exports","_Interceptor","_classCallCheck2","arguments","_inherits2","_createClass2","key","value","onRequest","options","logger","get","console","info","method","uri","has","now","Date","process","env","ENABLE_VERBOSE_NETWORK_LOGGING","getTime","toISOString","body","length","isArray","isString","util","inspect","omit","depth","warn","_promise","resolve","onRequestError","reason","error","stack","reject","create","webex","Interceptor"],"sources":["request-logger.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport util from 'util';\n\nimport {get, has, isArray, isString, omit} from 'lodash';\nimport {Interceptor} from '@webex/http-core';\n\n/**\n * @class\n */\nexport default class RequestLoggerInterceptor extends Interceptor {\n /**\n * @returns {RequestLoggerInterceptor}\n */\n static create() {\n return new RequestLoggerInterceptor({webex: this});\n }\n\n /**\n * @see Interceptor#onRequest\n * @param {Object} options\n * @returns {Object}\n */\n onRequest(options) {\n const logger = get(this, 'webex.logger', console);\n\n logger.info('/**********************************************************************\\\\ ');\n logger.info('Request:', options.method || 'GET', options.uri);\n logger.info('WEBEX_TRACKINGID: ', get(options, 'headers.trackingid'));\n /* istanbul ignore next */\n if (has(options, 'headers.x-trans-id')) {\n logger.info('X-Trans-ID: ', get(options, 'headers.x-trans-id'));\n }\n const now = new Date();\n\n if (process.env.ENABLE_VERBOSE_NETWORK_LOGGING) {\n logger.info('timestamp (start): ', now.getTime(), now.toISOString());\n try {\n // Determine if body is a buffer without relying on Buffer to avoid\n // node/browser conflicts.\n if (\n options.body &&\n options.body.length &&\n !isArray(options.body) &&\n !isString(options.body)\n ) {\n logger.info('Request Options:', util.inspect(omit(options, 'body'), {depth: null}));\n } else {\n logger.info('Request Options:', util.inspect(options, {depth: null}));\n }\n } catch (e) {\n logger.warn('Could not stringify request options:', e);\n }\n }\n\n return Promise.resolve(options);\n }\n\n /**\n * @see Interceptor#onRequest\n * @param {Object} options\n * @param {Error} reason\n * @returns {Object}\n */\n onRequestError(options, reason) {\n // We need to do the normal onRequest logging, but then log how the request\n // failed since the response logger won't be called.\n this.onRequest(options);\n const logger = get(this, 'webex.logger', console);\n\n logger.error('Request Failed: ', reason.stack);\n logger.info('\\\\**********************************************************************/');\n\n return Promise.reject(reason);\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;AAIA,IAAAA,KAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,SAAA,GAAAF,OAAA;AAA6C,SAAAG,WAAAC,CAAA,EAAAC,CAAA,EAAAC,CAAA,WAAAD,CAAA,OAAAE,gBAAA,CAAAC,OAAA,EAAAH,CAAA,OAAAI,2BAAA,CAAAD,OAAA,EAAAJ,CAAA,EAAAM,yBAAA,KAAAC,kBAAA,CAAAN,CAAA,EAAAC,CAAA,YAAAC,gBAAA,CAAAC,OAAA,EAAAJ,CAAA,EAAAQ,WAAA,IAAAP,CAAA,CAAAQ,KAAA,CAAAT,CAAA,EAAAE,CAAA;AAAA,SAAAI,0BAAA,cAAAN,CAAA,IAAAU,OAAA,CAAAC,SAAA,CAAAC,OAAA,CAAAC,IAAA,CAAAN,kBAAA,CAAAG,OAAA,iCAAAV,CAAA,aAAAM,yBAAA,YAAAA,0BAAA,aAAAN,CAAA,UAP7C;AACA;AACA;AAOA;AACA;AACA;AAFA,IAGqBc,wBAAwB,GAAAC,OAAA,CAAAX,OAAA,0BAAAY,YAAA;EAAA,SAAAF,yBAAA;IAAA,IAAAG,gBAAA,CAAAb,OAAA,QAAAU,wBAAA;IAAA,OAAAf,UAAA,OAAAe,wBAAA,EAAAI,SAAA;EAAA;EAAA,IAAAC,UAAA,CAAAf,OAAA,EAAAU,wBAAA,EAAAE,YAAA;EAAA,WAAAI,aAAA,CAAAhB,OAAA,EAAAU,wBAAA;IAAAO,GAAA;IAAAC,KAAA;IAQ3C;AACF;AACA;AACA;AACA;IACE,SAAAC,SAASA,CAACC,OAAO,EAAE;MACjB,IAAMC,MAAM,GAAG,IAAAC,WAAG,EAAC,IAAI,EAAE,cAAc,EAAEC,OAAO,CAAC;MAEjDF,MAAM,CAACG,IAAI,CAAC,4EAA4E,CAAC;MACzFH,MAAM,CAACG,IAAI,CAAC,UAAU,EAAEJ,OAAO,CAACK,MAAM,IAAI,KAAK,EAAEL,OAAO,CAACM,GAAG,CAAC;MAC7DL,MAAM,CAACG,IAAI,CAAC,oBAAoB,EAAE,IAAAF,WAAG,EAACF,OAAO,EAAE,oBAAoB,CAAC,CAAC;MACrE;MACA,IAAI,IAAAO,WAAG,EAACP,OAAO,EAAE,oBAAoB,CAAC,EAAE;QACtCC,MAAM,CAACG,IAAI,CAAC,cAAc,EAAE,IAAAF,WAAG,EAACF,OAAO,EAAE,oBAAoB,CAAC,CAAC;MACjE;MACA,IAAMQ,GAAG,GAAG,IAAIC,IAAI,CAAC,CAAC;MAEtB,IAAIC,OAAO,CAACC,GAAG,CAACC,8BAA8B,EAAE;QAC9CX,MAAM,CAACG,IAAI,CAAC,qBAAqB,EAAEI,GAAG,CAACK,OAAO,CAAC,CAAC,EAAEL,GAAG,CAACM,WAAW,CAAC,CAAC,CAAC;QACpE,IAAI;UACF;UACA;UACA,IACEd,OAAO,CAACe,IAAI,IACZf,OAAO,CAACe,IAAI,CAACC,MAAM,IACnB,CAAC,IAAAC,eAAO,EAACjB,OAAO,CAACe,IAAI,CAAC,IACtB,CAAC,IAAAG,gBAAQ,EAAClB,OAAO,CAACe,IAAI,CAAC,EACvB;YACAd,MAAM,CAACG,IAAI,CAAC,kBAAkB,EAAEe,aAAI,CAACC,OAAO,CAAC,IAAAC,YAAI,EAACrB,OAAO,EAAE,MAAM,CAAC,EAAE;cAACsB,KAAK,EAAE;YAAI,CAAC,CAAC,CAAC;UACrF,CAAC,MAAM;YACLrB,MAAM,CAACG,IAAI,CAAC,kBAAkB,EAAEe,aAAI,CAACC,OAAO,CAACpB,OAAO,EAAE;cAACsB,KAAK,EAAE;YAAI,CAAC,CAAC,CAAC;UACvE;QACF,CAAC,CAAC,OAAO5C,CAAC,EAAE;UACVuB,MAAM,CAACsB,IAAI,CAAC,sCAAsC,EAAE7C,CAAC,CAAC;QACxD;MACF;MAEA,OAAO8C,QAAA,CAAA5C,OAAA,CAAQ6C,OAAO,CAACzB,OAAO,CAAC;IACjC;;IAEA;AACF;AACA;AACA;AACA;AACA;EALE;IAAAH,GAAA;IAAAC,KAAA,EAMA,SAAA4B,cAAcA,CAAC1B,OAAO,EAAE2B,MAAM,EAAE;MAC9B;MACA;MACA,IAAI,CAAC5B,SAAS,CAACC,OAAO,CAAC;MACvB,IAAMC,MAAM,GAAG,IAAAC,WAAG,EAAC,IAAI,EAAE,cAAc,EAAEC,OAAO,CAAC;MAEjDF,MAAM,CAAC2B,KAAK,CAAC,kBAAkB,EAAED,MAAM,CAACE,KAAK,CAAC;MAC9C5B,MAAM,CAACG,IAAI,CAAC,2EAA2E,CAAC;MAExF,OAAOoB,QAAA,CAAA5C,OAAA,CAAQkD,MAAM,CAACH,MAAM,CAAC;IAC/B;EAAC;IAAA9B,GAAA;IAAAC,KAAA;IA/DD;AACF;AACA;IACE,SAAOiC,MAAMA,CAAA,EAAG;MACd,OAAO,IAAIzC,wBAAwB,CAAC;QAAC0C,KAAK,EAAE;MAAI,CAAC,CAAC;IACpD;EAAC;AAAA,EANmDC,qBAAW","ignoreList":[]}
|
|
@@ -11,25 +11,24 @@ var _now = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/date/n
|
|
|
11
11
|
var _promise = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/promise"));
|
|
12
12
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/classCallCheck"));
|
|
13
13
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/createClass"));
|
|
14
|
-
var _inherits2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/inherits"));
|
|
15
14
|
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/possibleConstructorReturn"));
|
|
16
15
|
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/getPrototypeOf"));
|
|
16
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/inherits"));
|
|
17
17
|
var _httpCore = require("@webex/http-core");
|
|
18
|
-
function
|
|
19
|
-
function _isNativeReflectConstruct() {
|
|
18
|
+
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? _Reflect$construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
|
|
19
|
+
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(_Reflect$construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } /*!
|
|
20
20
|
* Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
|
|
21
21
|
*/
|
|
22
22
|
/**
|
|
23
23
|
* @class
|
|
24
24
|
*/
|
|
25
25
|
var RequestTimingInterceptor = exports.default = /*#__PURE__*/function (_Interceptor) {
|
|
26
|
-
(0, _inherits2.default)(RequestTimingInterceptor, _Interceptor);
|
|
27
|
-
var _super = _createSuper(RequestTimingInterceptor);
|
|
28
26
|
function RequestTimingInterceptor() {
|
|
29
27
|
(0, _classCallCheck2.default)(this, RequestTimingInterceptor);
|
|
30
|
-
return
|
|
28
|
+
return _callSuper(this, RequestTimingInterceptor, arguments);
|
|
31
29
|
}
|
|
32
|
-
(0,
|
|
30
|
+
(0, _inherits2.default)(RequestTimingInterceptor, _Interceptor);
|
|
31
|
+
return (0, _createClass2.default)(RequestTimingInterceptor, [{
|
|
33
32
|
key: "onRequest",
|
|
34
33
|
value:
|
|
35
34
|
/**
|
|
@@ -91,6 +90,5 @@ var RequestTimingInterceptor = exports.default = /*#__PURE__*/function (_Interce
|
|
|
91
90
|
return new RequestTimingInterceptor(this, options);
|
|
92
91
|
}
|
|
93
92
|
}]);
|
|
94
|
-
return RequestTimingInterceptor;
|
|
95
93
|
}(_httpCore.Interceptor);
|
|
96
94
|
//# sourceMappingURL=request-timing.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_httpCore","require","
|
|
1
|
+
{"version":3,"names":["_httpCore","require","_callSuper","t","o","e","_getPrototypeOf2","default","_possibleConstructorReturn2","_isNativeReflectConstruct","_Reflect$construct","constructor","apply","Boolean","prototype","valueOf","call","RequestTimingInterceptor","exports","_Interceptor","_classCallCheck2","arguments","_inherits2","_createClass2","key","value","onRequest","options","$timings","requestStart","_now","onRequestError","requestEnd","requestFail","_promise","reject","onResponse","response","resolve","onResponseError","reason","create","Interceptor"],"sources":["request-timing.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport {Interceptor} from '@webex/http-core';\n\n/**\n * @class\n */\nexport default class RequestTimingInterceptor extends Interceptor {\n /**\n * @param {Object} options\n * @returns {RequestTimingInterceptor}\n */\n static create(options) {\n return new RequestTimingInterceptor(this, options);\n }\n\n /**\n * @see Interceptor#onRequest\n * @param {Object} options\n * @returns {Object}\n */\n onRequest(options) {\n options.$timings = options.$timings || {};\n options.$timings.requestStart = Date.now();\n\n return options;\n }\n\n /**\n * @see Interceptor#onRequestError\n * @param {Object} options\n * @returns {Object}\n */\n onRequestError(options) {\n options.$timings.requestEnd = options.$timings.requestFail = Date.now();\n\n return Promise.reject(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 options.$timings.requestEnd = Date.now();\n\n return Promise.resolve(response);\n }\n\n /**\n * @see Interceptor#onResponseError\n * @param {Object} options\n * @param {Error} reason\n * @returns {Object}\n */\n onResponseError(options, reason) {\n options.$timings.requestEnd = options.$timings.requestFail = Date.now();\n\n return Promise.reject(reason);\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAIA,IAAAA,SAAA,GAAAC,OAAA;AAA6C,SAAAC,WAAAC,CAAA,EAAAC,CAAA,EAAAC,CAAA,WAAAD,CAAA,OAAAE,gBAAA,CAAAC,OAAA,EAAAH,CAAA,OAAAI,2BAAA,CAAAD,OAAA,EAAAJ,CAAA,EAAAM,yBAAA,KAAAC,kBAAA,CAAAN,CAAA,EAAAC,CAAA,YAAAC,gBAAA,CAAAC,OAAA,EAAAJ,CAAA,EAAAQ,WAAA,IAAAP,CAAA,CAAAQ,KAAA,CAAAT,CAAA,EAAAE,CAAA;AAAA,SAAAI,0BAAA,cAAAN,CAAA,IAAAU,OAAA,CAAAC,SAAA,CAAAC,OAAA,CAAAC,IAAA,CAAAN,kBAAA,CAAAG,OAAA,iCAAAV,CAAA,aAAAM,yBAAA,YAAAA,0BAAA,aAAAN,CAAA,UAJ7C;AACA;AACA;AAIA;AACA;AACA;AAFA,IAGqBc,wBAAwB,GAAAC,OAAA,CAAAX,OAAA,0BAAAY,YAAA;EAAA,SAAAF,yBAAA;IAAA,IAAAG,gBAAA,CAAAb,OAAA,QAAAU,wBAAA;IAAA,OAAAf,UAAA,OAAAe,wBAAA,EAAAI,SAAA;EAAA;EAAA,IAAAC,UAAA,CAAAf,OAAA,EAAAU,wBAAA,EAAAE,YAAA;EAAA,WAAAI,aAAA,CAAAhB,OAAA,EAAAU,wBAAA;IAAAO,GAAA;IAAAC,KAAA;IAS3C;AACF;AACA;AACA;AACA;IACE,SAAAC,SAASA,CAACC,OAAO,EAAE;MACjBA,OAAO,CAACC,QAAQ,GAAGD,OAAO,CAACC,QAAQ,IAAI,CAAC,CAAC;MACzCD,OAAO,CAACC,QAAQ,CAACC,YAAY,GAAG,IAAAC,IAAA,CAAAvB,OAAA,EAAS,CAAC;MAE1C,OAAOoB,OAAO;IAChB;;IAEA;AACF;AACA;AACA;AACA;EAJE;IAAAH,GAAA;IAAAC,KAAA,EAKA,SAAAM,cAAcA,CAACJ,OAAO,EAAE;MACtBA,OAAO,CAACC,QAAQ,CAACI,UAAU,GAAGL,OAAO,CAACC,QAAQ,CAACK,WAAW,GAAG,IAAAH,IAAA,CAAAvB,OAAA,EAAS,CAAC;MAEvE,OAAO2B,QAAA,CAAA3B,OAAA,CAAQ4B,MAAM,CAACR,OAAO,CAAC;IAChC;;IAEA;AACF;AACA;AACA;AACA;AACA;EALE;IAAAH,GAAA;IAAAC,KAAA,EAMA,SAAAW,UAAUA,CAACT,OAAO,EAAEU,QAAQ,EAAE;MAC5BV,OAAO,CAACC,QAAQ,CAACI,UAAU,GAAG,IAAAF,IAAA,CAAAvB,OAAA,EAAS,CAAC;MAExC,OAAO2B,QAAA,CAAA3B,OAAA,CAAQ+B,OAAO,CAACD,QAAQ,CAAC;IAClC;;IAEA;AACF;AACA;AACA;AACA;AACA;EALE;IAAAb,GAAA;IAAAC,KAAA,EAMA,SAAAc,eAAeA,CAACZ,OAAO,EAAEa,MAAM,EAAE;MAC/Bb,OAAO,CAACC,QAAQ,CAACI,UAAU,GAAGL,OAAO,CAACC,QAAQ,CAACK,WAAW,GAAG,IAAAH,IAAA,CAAAvB,OAAA,EAAS,CAAC;MAEvE,OAAO2B,QAAA,CAAA3B,OAAA,CAAQ4B,MAAM,CAACK,MAAM,CAAC;IAC/B;EAAC;IAAAhB,GAAA;IAAAC,KAAA;IArDD;AACF;AACA;AACA;IACE,SAAOgB,MAAMA,CAACd,OAAO,EAAE;MACrB,OAAO,IAAIV,wBAAwB,CAAC,IAAI,EAAEU,OAAO,CAAC;IACpD;EAAC;AAAA,EAPmDe,qBAAW","ignoreList":[]}
|
|
@@ -11,28 +11,27 @@ var _promise = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/pr
|
|
|
11
11
|
var _typeof2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/typeof"));
|
|
12
12
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/classCallCheck"));
|
|
13
13
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/createClass"));
|
|
14
|
-
var _inherits2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/inherits"));
|
|
15
14
|
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/possibleConstructorReturn"));
|
|
16
15
|
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/getPrototypeOf"));
|
|
16
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/inherits"));
|
|
17
17
|
var _util = _interopRequireDefault(require("util"));
|
|
18
18
|
var _lodash = require("lodash");
|
|
19
19
|
var _httpCore = require("@webex/http-core");
|
|
20
20
|
var _common = require("@webex/common");
|
|
21
|
-
function
|
|
22
|
-
function _isNativeReflectConstruct() {
|
|
21
|
+
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? _Reflect$construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
|
|
22
|
+
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(_Reflect$construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } /*!
|
|
23
23
|
* Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
|
|
24
24
|
*/
|
|
25
25
|
/**
|
|
26
26
|
* @class
|
|
27
27
|
*/
|
|
28
28
|
var ResponseLoggerInterceptor = exports.default = /*#__PURE__*/function (_Interceptor) {
|
|
29
|
-
(0, _inherits2.default)(ResponseLoggerInterceptor, _Interceptor);
|
|
30
|
-
var _super = _createSuper(ResponseLoggerInterceptor);
|
|
31
29
|
function ResponseLoggerInterceptor() {
|
|
32
30
|
(0, _classCallCheck2.default)(this, ResponseLoggerInterceptor);
|
|
33
|
-
return
|
|
31
|
+
return _callSuper(this, ResponseLoggerInterceptor, arguments);
|
|
34
32
|
}
|
|
35
|
-
(0,
|
|
33
|
+
(0, _inherits2.default)(ResponseLoggerInterceptor, _Interceptor);
|
|
34
|
+
return (0, _createClass2.default)(ResponseLoggerInterceptor, [{
|
|
36
35
|
key: "onResponse",
|
|
37
36
|
value:
|
|
38
37
|
/**
|
|
@@ -116,6 +115,5 @@ var ResponseLoggerInterceptor = exports.default = /*#__PURE__*/function (_Interc
|
|
|
116
115
|
});
|
|
117
116
|
}
|
|
118
117
|
}]);
|
|
119
|
-
return ResponseLoggerInterceptor;
|
|
120
118
|
}(_httpCore.Interceptor);
|
|
121
119
|
//# sourceMappingURL=response-logger.js.map
|