@webex/webex-core 2.59.1 → 2.59.3-next.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (189) hide show
  1. package/.eslintrc.js +6 -6
  2. package/README.md +79 -79
  3. package/babel.config.js +3 -3
  4. package/dist/config.js +24 -24
  5. package/dist/config.js.map +1 -1
  6. package/dist/credentials-config.js +56 -56
  7. package/dist/credentials-config.js.map +1 -1
  8. package/dist/index.js.map +1 -1
  9. package/dist/interceptors/auth.js +28 -28
  10. package/dist/interceptors/auth.js.map +1 -1
  11. package/dist/interceptors/default-options.js +24 -24
  12. package/dist/interceptors/default-options.js.map +1 -1
  13. package/dist/interceptors/embargo.js +9 -9
  14. package/dist/interceptors/embargo.js.map +1 -1
  15. package/dist/interceptors/network-timing.js +19 -19
  16. package/dist/interceptors/network-timing.js.map +1 -1
  17. package/dist/interceptors/payload-transformer.js +19 -19
  18. package/dist/interceptors/payload-transformer.js.map +1 -1
  19. package/dist/interceptors/rate-limit.js +40 -40
  20. package/dist/interceptors/rate-limit.js.map +1 -1
  21. package/dist/interceptors/redirect.js +13 -13
  22. package/dist/interceptors/redirect.js.map +1 -1
  23. package/dist/interceptors/request-event.js +23 -23
  24. package/dist/interceptors/request-event.js.map +1 -1
  25. package/dist/interceptors/request-logger.js +13 -13
  26. package/dist/interceptors/request-logger.js.map +1 -1
  27. package/dist/interceptors/request-timing.js +23 -23
  28. package/dist/interceptors/request-timing.js.map +1 -1
  29. package/dist/interceptors/response-logger.js +19 -19
  30. package/dist/interceptors/response-logger.js.map +1 -1
  31. package/dist/interceptors/user-agent.js +29 -29
  32. package/dist/interceptors/user-agent.js.map +1 -1
  33. package/dist/interceptors/webex-tracking-id.js +15 -15
  34. package/dist/interceptors/webex-tracking-id.js.map +1 -1
  35. package/dist/interceptors/webex-user-agent.js +13 -13
  36. package/dist/interceptors/webex-user-agent.js.map +1 -1
  37. package/dist/lib/batcher.js +83 -83
  38. package/dist/lib/batcher.js.map +1 -1
  39. package/dist/lib/credentials/credentials.js +103 -103
  40. package/dist/lib/credentials/credentials.js.map +1 -1
  41. package/dist/lib/credentials/grant-errors.js +17 -17
  42. package/dist/lib/credentials/grant-errors.js.map +1 -1
  43. package/dist/lib/credentials/index.js +2 -2
  44. package/dist/lib/credentials/index.js.map +1 -1
  45. package/dist/lib/credentials/scope.js +11 -11
  46. package/dist/lib/credentials/scope.js.map +1 -1
  47. package/dist/lib/credentials/token-collection.js +2 -2
  48. package/dist/lib/credentials/token-collection.js.map +1 -1
  49. package/dist/lib/credentials/token.js +145 -145
  50. package/dist/lib/credentials/token.js.map +1 -1
  51. package/dist/lib/page.js +49 -49
  52. package/dist/lib/page.js.map +1 -1
  53. package/dist/lib/services/constants.js.map +1 -1
  54. package/dist/lib/services/index.js +2 -2
  55. package/dist/lib/services/index.js.map +1 -1
  56. package/dist/lib/services/interceptors/server-error.js +9 -9
  57. package/dist/lib/services/interceptors/server-error.js.map +1 -1
  58. package/dist/lib/services/interceptors/service.js +24 -24
  59. package/dist/lib/services/interceptors/service.js.map +1 -1
  60. package/dist/lib/services/metrics.js.map +1 -1
  61. package/dist/lib/services/service-catalog.js +104 -104
  62. package/dist/lib/services/service-catalog.js.map +1 -1
  63. package/dist/lib/services/service-fed-ramp.js.map +1 -1
  64. package/dist/lib/services/service-host.js +134 -134
  65. package/dist/lib/services/service-host.js.map +1 -1
  66. package/dist/lib/services/service-registry.js +175 -175
  67. package/dist/lib/services/service-registry.js.map +1 -1
  68. package/dist/lib/services/service-state.js +38 -38
  69. package/dist/lib/services/service-state.js.map +1 -1
  70. package/dist/lib/services/service-url.js +31 -31
  71. package/dist/lib/services/service-url.js.map +1 -1
  72. package/dist/lib/services/services.js +245 -245
  73. package/dist/lib/services/services.js.map +1 -1
  74. package/dist/lib/stateless-webex-plugin.js +28 -28
  75. package/dist/lib/stateless-webex-plugin.js.map +1 -1
  76. package/dist/lib/storage/decorators.js +27 -27
  77. package/dist/lib/storage/decorators.js.map +1 -1
  78. package/dist/lib/storage/errors.js +4 -4
  79. package/dist/lib/storage/errors.js.map +1 -1
  80. package/dist/lib/storage/index.js.map +1 -1
  81. package/dist/lib/storage/make-webex-plugin-store.js +44 -44
  82. package/dist/lib/storage/make-webex-plugin-store.js.map +1 -1
  83. package/dist/lib/storage/make-webex-store.js +40 -40
  84. package/dist/lib/storage/make-webex-store.js.map +1 -1
  85. package/dist/lib/storage/memory-store-adapter.js +9 -9
  86. package/dist/lib/storage/memory-store-adapter.js.map +1 -1
  87. package/dist/lib/webex-core-plugin-mixin.js +13 -13
  88. package/dist/lib/webex-core-plugin-mixin.js.map +1 -1
  89. package/dist/lib/webex-http-error.js +9 -9
  90. package/dist/lib/webex-http-error.js.map +1 -1
  91. package/dist/lib/webex-internal-core-plugin-mixin.js +13 -13
  92. package/dist/lib/webex-internal-core-plugin-mixin.js.map +1 -1
  93. package/dist/lib/webex-plugin.js +36 -36
  94. package/dist/lib/webex-plugin.js.map +1 -1
  95. package/dist/plugins/logger.js +9 -9
  96. package/dist/plugins/logger.js.map +1 -1
  97. package/dist/webex-core.js +104 -104
  98. package/dist/webex-core.js.map +1 -1
  99. package/dist/webex-internal-core.js +12 -12
  100. package/dist/webex-internal-core.js.map +1 -1
  101. package/jest.config.js +3 -3
  102. package/package.json +20 -19
  103. package/process +1 -1
  104. package/src/config.js +90 -90
  105. package/src/credentials-config.js +212 -212
  106. package/src/index.js +62 -62
  107. package/src/interceptors/auth.js +186 -186
  108. package/src/interceptors/default-options.js +55 -55
  109. package/src/interceptors/embargo.js +43 -43
  110. package/src/interceptors/network-timing.js +54 -54
  111. package/src/interceptors/payload-transformer.js +55 -55
  112. package/src/interceptors/rate-limit.js +169 -169
  113. package/src/interceptors/redirect.js +106 -106
  114. package/src/interceptors/request-event.js +93 -93
  115. package/src/interceptors/request-logger.js +78 -78
  116. package/src/interceptors/request-timing.js +65 -65
  117. package/src/interceptors/response-logger.js +98 -98
  118. package/src/interceptors/user-agent.js +77 -77
  119. package/src/interceptors/webex-tracking-id.js +73 -73
  120. package/src/interceptors/webex-user-agent.js +79 -79
  121. package/src/lib/batcher.js +307 -307
  122. package/src/lib/credentials/credentials.js +552 -552
  123. package/src/lib/credentials/grant-errors.js +92 -92
  124. package/src/lib/credentials/index.js +16 -16
  125. package/src/lib/credentials/scope.js +34 -34
  126. package/src/lib/credentials/token-collection.js +17 -17
  127. package/src/lib/credentials/token.js +559 -559
  128. package/src/lib/page.js +159 -159
  129. package/src/lib/services/constants.js +9 -9
  130. package/src/lib/services/index.js +26 -26
  131. package/src/lib/services/interceptors/server-error.js +48 -48
  132. package/src/lib/services/interceptors/service.js +101 -101
  133. package/src/lib/services/metrics.js +4 -4
  134. package/src/lib/services/service-catalog.js +435 -435
  135. package/src/lib/services/service-fed-ramp.js +4 -4
  136. package/src/lib/services/service-host.js +267 -267
  137. package/src/lib/services/service-registry.js +465 -465
  138. package/src/lib/services/service-state.js +78 -78
  139. package/src/lib/services/service-url.js +124 -124
  140. package/src/lib/services/services.js +1018 -1018
  141. package/src/lib/stateless-webex-plugin.js +98 -98
  142. package/src/lib/storage/decorators.js +220 -220
  143. package/src/lib/storage/errors.js +15 -15
  144. package/src/lib/storage/index.js +10 -10
  145. package/src/lib/storage/make-webex-plugin-store.js +211 -211
  146. package/src/lib/storage/make-webex-store.js +140 -140
  147. package/src/lib/storage/memory-store-adapter.js +79 -79
  148. package/src/lib/webex-core-plugin-mixin.js +114 -114
  149. package/src/lib/webex-http-error.js +61 -61
  150. package/src/lib/webex-internal-core-plugin-mixin.js +107 -107
  151. package/src/lib/webex-plugin.js +222 -222
  152. package/src/plugins/logger.js +60 -60
  153. package/src/webex-core.js +745 -745
  154. package/src/webex-internal-core.js +46 -46
  155. package/test/integration/spec/credentials/credentials.js +139 -139
  156. package/test/integration/spec/credentials/token.js +102 -102
  157. package/test/integration/spec/services/service-catalog.js +838 -838
  158. package/test/integration/spec/services/services.js +1221 -1221
  159. package/test/integration/spec/webex-core.js +178 -178
  160. package/test/unit/spec/_setup.js +44 -44
  161. package/test/unit/spec/credentials/credentials.js +1017 -1017
  162. package/test/unit/spec/credentials/token.js +441 -441
  163. package/test/unit/spec/interceptors/auth.js +521 -521
  164. package/test/unit/spec/interceptors/default-options.js +84 -84
  165. package/test/unit/spec/interceptors/embargo.js +144 -144
  166. package/test/unit/spec/interceptors/network-timing.js +49 -49
  167. package/test/unit/spec/interceptors/payload-transformer.js +155 -155
  168. package/test/unit/spec/interceptors/rate-limit.js +302 -302
  169. package/test/unit/spec/interceptors/redirect.js +102 -102
  170. package/test/unit/spec/interceptors/request-timing.js +92 -92
  171. package/test/unit/spec/interceptors/user-agent.js +76 -76
  172. package/test/unit/spec/interceptors/webex-tracking-id.js +76 -76
  173. package/test/unit/spec/interceptors/webex-user-agent.js +159 -159
  174. package/test/unit/spec/lib/batcher.js +330 -330
  175. package/test/unit/spec/lib/page.js +148 -148
  176. package/test/unit/spec/lib/webex-plugin.js +48 -48
  177. package/test/unit/spec/services/interceptors/server-error.js +204 -204
  178. package/test/unit/spec/services/interceptors/service.js +188 -188
  179. package/test/unit/spec/services/service-catalog.js +194 -194
  180. package/test/unit/spec/services/service-host.js +260 -260
  181. package/test/unit/spec/services/service-registry.js +747 -747
  182. package/test/unit/spec/services/service-state.js +60 -60
  183. package/test/unit/spec/services/service-url.js +258 -258
  184. package/test/unit/spec/services/services.js +348 -348
  185. package/test/unit/spec/storage/persist.js +50 -50
  186. package/test/unit/spec/storage/storage-adapter.js +12 -12
  187. package/test/unit/spec/storage/wait-for-value.js +81 -81
  188. package/test/unit/spec/webex-core.js +253 -253
  189. package/test/unit/spec/webex-internal-core.js +91 -91
@@ -26,16 +26,16 @@ var rateLimitExpiryTime = new _weakMap.default();
26
26
  // extracts the common identity API being called
27
27
  var idBrokerRegex = /.*(idbroker|identity)(bts)?.ciscospark.com\/([^/]+)/;
28
28
 
29
- /**
30
- * @class
29
+ /**
30
+ * @class
31
31
  */
32
32
  var RateLimitInterceptor = /*#__PURE__*/function (_Interceptor) {
33
33
  (0, _inherits2.default)(RateLimitInterceptor, _Interceptor);
34
34
  var _super = _createSuper(RateLimitInterceptor);
35
- /**
36
- * constructor
37
- * @param {mixed} args
38
- * @returns {Exception}
35
+ /**
36
+ * constructor
37
+ * @param {mixed} args
38
+ * @returns {Exception}
39
39
  */
40
40
  function RateLimitInterceptor() {
41
41
  var _this;
@@ -48,10 +48,10 @@ var RateLimitInterceptor = /*#__PURE__*/function (_Interceptor) {
48
48
  return _this;
49
49
  }
50
50
 
51
- /**
52
- * @see {@link Interceptor#onRequest}
53
- * @param {Object} options
54
- * @returns {Object}
51
+ /**
52
+ * @see {@link Interceptor#onRequest}
53
+ * @param {Object} options
54
+ * @returns {Object}
55
55
  */
56
56
  (0, _createClass2.default)(RateLimitInterceptor, [{
57
57
  key: "onRequest",
@@ -62,11 +62,11 @@ var RateLimitInterceptor = /*#__PURE__*/function (_Interceptor) {
62
62
  return _promise.default.resolve(options);
63
63
  }
64
64
 
65
- /**
66
- * @see {@link Interceptor#onResponseError}
67
- * @param {Object} options
68
- * @param {Error} reason
69
- * @returns {Object}
65
+ /**
66
+ * @see {@link Interceptor#onResponseError}
67
+ * @param {Object} options
68
+ * @param {Error} reason
69
+ * @returns {Object}
70
70
  */
71
71
  }, {
72
72
  key: "onResponseError",
@@ -78,9 +78,9 @@ var RateLimitInterceptor = /*#__PURE__*/function (_Interceptor) {
78
78
  return _promise.default.reject(reason);
79
79
  }
80
80
 
81
- /**
82
- * @param {object} options associated with the request
83
- * @returns {number} retry after time in milliseconds
81
+ /**
82
+ * @param {object} options associated with the request
83
+ * @returns {number} retry after time in milliseconds
84
84
  */
85
85
  }, {
86
86
  key: "extractRetryAfterTime",
@@ -100,13 +100,13 @@ var RateLimitInterceptor = /*#__PURE__*/function (_Interceptor) {
100
100
  return retryAfter * milliMultiplier;
101
101
  }
102
102
 
103
- /**
104
- * Set the system time at which the rate limiting
105
- * will expire in the rateLimitExpiryTime map.
106
- * Assumes retryAfter is in milliseconds
107
- * @param {string} uri API issuing the rate limiting
108
- * @param {number} retryAfter milliseconds until rate limiting expires
109
- * @returns {bool} true is value was successfully set
103
+ /**
104
+ * Set the system time at which the rate limiting
105
+ * will expire in the rateLimitExpiryTime map.
106
+ * Assumes retryAfter is in milliseconds
107
+ * @param {string} uri API issuing the rate limiting
108
+ * @param {number} retryAfter milliseconds until rate limiting expires
109
+ * @returns {bool} true is value was successfully set
110
110
  */
111
111
  }, {
112
112
  key: "setRateLimitExpiry",
@@ -121,10 +121,10 @@ var RateLimitInterceptor = /*#__PURE__*/function (_Interceptor) {
121
121
  return dict.set(apiName, expiry);
122
122
  }
123
123
 
124
- /**
125
- * returns true if the API is currently rate limited
126
- * @param {string} uri
127
- * @returns {Boolean} indicates whether or not the API is rate currently rate limited
124
+ /**
125
+ * returns true if the API is currently rate limited
126
+ * @param {string} uri
127
+ * @returns {Boolean} indicates whether or not the API is rate currently rate limited
128
128
  */
129
129
  }, {
130
130
  key: "getRateLimitStatus",
@@ -146,10 +146,10 @@ var RateLimitInterceptor = /*#__PURE__*/function (_Interceptor) {
146
146
  return currTimeMilli < dict.get(apiName);
147
147
  }
148
148
 
149
- /**
150
- * split the URI and returns the API name of idBroker
151
- * @param {string} uri
152
- * @returns {string}
149
+ /**
150
+ * split the URI and returns the API name of idBroker
151
+ * @param {string} uri
152
+ * @returns {string}
153
153
  */
154
154
  }, {
155
155
  key: "getApiName",
@@ -167,11 +167,11 @@ var RateLimitInterceptor = /*#__PURE__*/function (_Interceptor) {
167
167
  return results[2];
168
168
  }
169
169
 
170
- /**
171
- * check URI against list of currently rate limited
172
- * URIs, and determines if retry-after
173
- * @param {String} uri pattern to check
174
- * @returns {bool}
170
+ /**
171
+ * check URI against list of currently rate limited
172
+ * URIs, and determines if retry-after
173
+ * @param {String} uri pattern to check
174
+ * @returns {bool}
175
175
  */
176
176
  }, {
177
177
  key: "isRateLimited",
@@ -185,8 +185,8 @@ var RateLimitInterceptor = /*#__PURE__*/function (_Interceptor) {
185
185
  }], [{
186
186
  key: "create",
187
187
  value:
188
- /**
189
- * @returns {RateLimitInterceptor}
188
+ /**
189
+ * @returns {RateLimitInterceptor}
190
190
  */
191
191
  function create() {
192
192
  return new RateLimitInterceptor({
@@ -1 +1 @@
1
- {"version":3,"names":["_httpCore","require","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","default","result","NewTarget","constructor","_Reflect$construct","arguments","apply","_possibleConstructorReturn2","Reflect","sham","Proxy","Boolean","prototype","valueOf","call","e","rateLimitExpiryTime","_weakMap","idBrokerRegex","RateLimitInterceptor","_Interceptor","_inherits2","_super","_this","_classCallCheck2","_len","length","args","Array","_key","concat","set","_assertThisInitialized2","_map","_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","exports"],"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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"}
1
+ {"version":3,"names":["_httpCore","require","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","default","result","NewTarget","constructor","_Reflect$construct","arguments","apply","_possibleConstructorReturn2","Reflect","sham","Proxy","Boolean","prototype","valueOf","call","e","rateLimitExpiryTime","_weakMap","idBrokerRegex","RateLimitInterceptor","_Interceptor","_inherits2","_super","_this","_classCallCheck2","_len","length","args","Array","_key","concat","set","_assertThisInitialized2","_map","_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","exports"],"sources":["rate-limit.js"],"sourcesContent":["/*!\r\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\r\n */\r\n\r\nimport {Interceptor} from '@webex/http-core';\r\n\r\n// contains the system time in milliseconds at which the retry after associated with a 429 expires\r\n// mapped by the API name, e.g.: idbroker.webex.com/doStuff would be mapped as 'doStuff'\r\nconst rateLimitExpiryTime = new WeakMap();\r\n\r\n// extracts the common identity API being called\r\nconst idBrokerRegex = /.*(idbroker|identity)(bts)?.ciscospark.com\\/([^/]+)/;\r\n\r\n/**\r\n * @class\r\n */\r\nexport default class RateLimitInterceptor extends Interceptor {\r\n /**\r\n * @returns {RateLimitInterceptor}\r\n */\r\n static create() {\r\n return new RateLimitInterceptor({webex: this});\r\n }\r\n\r\n /**\r\n * constructor\r\n * @param {mixed} args\r\n * @returns {Exception}\r\n */\r\n constructor(...args) {\r\n super(...args);\r\n rateLimitExpiryTime.set(this, new Map());\r\n }\r\n\r\n /**\r\n * @see {@link Interceptor#onRequest}\r\n * @param {Object} options\r\n * @returns {Object}\r\n */\r\n onRequest(options) {\r\n if (this.isRateLimited(options.uri)) {\r\n return Promise.reject(new Error(`API rate limited ${options.uri}`));\r\n }\r\n\r\n return Promise.resolve(options);\r\n }\r\n\r\n /**\r\n * @see {@link Interceptor#onResponseError}\r\n * @param {Object} options\r\n * @param {Error} reason\r\n * @returns {Object}\r\n */\r\n onResponseError(options, reason) {\r\n if (\r\n reason.statusCode === 429 &&\r\n (options.uri.includes('idbroker') || options.uri.includes('identity'))\r\n ) {\r\n // set the retry after in the map, setting to milliseconds\r\n this.setRateLimitExpiry(options.uri, this.extractRetryAfterTime(options));\r\n }\r\n\r\n return Promise.reject(reason);\r\n }\r\n\r\n /**\r\n * @param {object} options associated with the request\r\n * @returns {number} retry after time in milliseconds\r\n */\r\n extractRetryAfterTime(options) {\r\n // 1S * 1K === 1MS\r\n const milliMultiplier = 1000;\r\n const retryAfter = options.headers['retry-after'] || null;\r\n\r\n // set 60 retry if no usable time defined\r\n if (retryAfter === null || retryAfter <= 0) {\r\n return 60 * milliMultiplier;\r\n }\r\n // set max to 3600 S (1 hour) if greater than 1 hour\r\n if (retryAfter > 3600) {\r\n return 3600 * milliMultiplier;\r\n }\r\n\r\n return retryAfter * milliMultiplier;\r\n }\r\n\r\n /**\r\n * Set the system time at which the rate limiting\r\n * will expire in the rateLimitExpiryTime map.\r\n * Assumes retryAfter is in milliseconds\r\n * @param {string} uri API issuing the rate limiting\r\n * @param {number} retryAfter milliseconds until rate limiting expires\r\n * @returns {bool} true is value was successfully set\r\n */\r\n setRateLimitExpiry(uri, retryAfter) {\r\n const apiName = this.getApiName(uri);\r\n\r\n if (!apiName) {\r\n return false;\r\n }\r\n\r\n const currTimeMilli = new Date().getTime();\r\n const expiry = currTimeMilli + retryAfter;\r\n const dict = rateLimitExpiryTime.get(this);\r\n\r\n return dict.set(apiName, expiry);\r\n }\r\n\r\n /**\r\n * returns true if the API is currently rate limited\r\n * @param {string} uri\r\n * @returns {Boolean} indicates whether or not the API is rate currently rate limited\r\n */\r\n getRateLimitStatus(uri) {\r\n const apiName = this.getApiName(uri);\r\n\r\n if (!apiName) {\r\n return false;\r\n }\r\n\r\n const currTimeMilli = new Date().getTime();\r\n const dict = rateLimitExpiryTime.get(this);\r\n const expiryTime = dict.get(apiName);\r\n\r\n // if no rate limit expiry has been registered in the map, return false.\r\n if (expiryTime === undefined) {\r\n return false;\r\n }\r\n\r\n // return true, indicating rate limiting, if the system time is less than the expiry time\r\n return currTimeMilli < dict.get(apiName);\r\n }\r\n\r\n /**\r\n * split the URI and returns the API name of idBroker\r\n * @param {string} uri\r\n * @returns {string}\r\n */\r\n getApiName(uri) {\r\n if (!uri) {\r\n return null;\r\n }\r\n\r\n const results = uri.match(idBrokerRegex);\r\n\r\n if (!results) {\r\n return null;\r\n }\r\n\r\n // group 0 = full match of URL, group 1 = identity or idbroker base\r\n // group 2 = api name\r\n return results[2];\r\n }\r\n\r\n /**\r\n * check URI against list of currently rate limited\r\n * URIs, and determines if retry-after\r\n * @param {String} uri pattern to check\r\n * @returns {bool}\r\n */\r\n isRateLimited(uri) {\r\n // determine if the URI is associated with a common identity API\r\n if (uri && (uri.includes('idbroker') || uri.includes('identity'))) {\r\n return this.getRateLimitStatus(uri);\r\n }\r\n\r\n return false;\r\n }\r\n}\r\n"],"mappings":"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"}
@@ -22,8 +22,8 @@ var requestHeaderName = 'cisco-no-http-redirect';
22
22
  var responseHeaderName = 'cisco-location';
23
23
  var LOCUS_REDIRECT_ERROR = 2000002;
24
24
 
25
- /**
26
- * @class
25
+ /**
26
+ * @class
27
27
  */
28
28
  var RedirectInterceptor = /*#__PURE__*/function (_Interceptor) {
29
29
  (0, _inherits2.default)(RedirectInterceptor, _Interceptor);
@@ -35,10 +35,10 @@ var RedirectInterceptor = /*#__PURE__*/function (_Interceptor) {
35
35
  (0, _createClass2.default)(RedirectInterceptor, [{
36
36
  key: "onRequest",
37
37
  value:
38
- /**
39
- * @see Interceptor#onRequest
40
- * @param {Object} options
41
- * @returns {Object}
38
+ /**
39
+ * @see Interceptor#onRequest
40
+ * @param {Object} options
41
+ * @returns {Object}
42
42
  */
43
43
  function onRequest(options) {
44
44
  if (options && options.uri && typeof options.uri === 'string') {
@@ -61,11 +61,11 @@ var RedirectInterceptor = /*#__PURE__*/function (_Interceptor) {
61
61
  return options;
62
62
  }
63
63
 
64
- /**
65
- * @see Interceptor#onResponse
66
- * @param {Object} options
67
- * @param {HttpResponse} response
68
- * @returns {Object}
64
+ /**
65
+ * @see Interceptor#onResponse
66
+ * @param {Object} options
67
+ * @param {HttpResponse} response
68
+ * @returns {Object}
69
69
  */
70
70
  }, {
71
71
  key: "onResponse",
@@ -104,8 +104,8 @@ var RedirectInterceptor = /*#__PURE__*/function (_Interceptor) {
104
104
  }], [{
105
105
  key: "create",
106
106
  value:
107
- /**
108
- * @returns {RedirectInterceptor}
107
+ /**
108
+ * @returns {RedirectInterceptor}
109
109
  */
110
110
  function create() {
111
111
  return new RedirectInterceptor({
@@ -1 +1 @@
1
- {"version":3,"names":["_httpCore","require","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","default","result","NewTarget","constructor","_Reflect$construct","arguments","apply","_possibleConstructorReturn2","Reflect","sham","Proxy","Boolean","prototype","valueOf","call","e","requestHeaderName","responseHeaderName","LOCUS_REDIRECT_ERROR","RedirectInterceptor","_Interceptor","_inherits2","_super","_classCallCheck2","_createClass2","key","value","onRequest","options","uri","includes","webex","config","credentials","samlUrl","tokenUrl","authorizeUrl","headers","_deleteProperty","$redirectCount","onResponse","response","_clone2","maxAppLevelRedirects","_promise","reject","Error","request","body","errorCode","location","logger","warn","qs","newUrl","split","maxLocusRedirects","create","Interceptor","exports"],"sources":["redirect.js"],"sourcesContent":["/* eslint-disable prefer-destructuring */\n\n/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport {clone} from 'lodash';\nimport {Interceptor} from '@webex/http-core';\n\nconst requestHeaderName = 'cisco-no-http-redirect';\nconst responseHeaderName = 'cisco-location';\nconst LOCUS_REDIRECT_ERROR = 2000002;\n\n/**\n * @class\n */\nexport default class RedirectInterceptor extends Interceptor {\n /**\n * @returns {RedirectInterceptor}\n */\n static create() {\n return new RedirectInterceptor({webex: this});\n }\n\n /**\n * @see Interceptor#onRequest\n * @param {Object} options\n * @returns {Object}\n */\n onRequest(options) {\n if (options && options.uri && typeof options.uri === 'string') {\n if (\n options.uri.includes('https://idbroker') ||\n options.uri.includes(this.webex.config.credentials.samlUrl) ||\n options.uri.includes(this.webex.config.credentials.tokenUrl) ||\n options.uri.includes(this.webex.config.credentials.authorizeUrl)\n ) {\n return options;\n }\n }\n\n // If cisco-no-http-redirect is already set, don't overwrite it\n if (requestHeaderName in options.headers) {\n // If cisco-no-http-redirect is set to null, false, or undefined, delete\n // it to prevent a CORS preflight.\n if (!options.headers[requestHeaderName]) {\n Reflect.deleteProperty(options.headers, requestHeaderName);\n }\n\n return options;\n }\n options.headers[requestHeaderName] = true;\n options.$redirectCount = options.$redirectCount || 0;\n\n return options;\n }\n\n /**\n * @see Interceptor#onResponse\n * @param {Object} options\n * @param {HttpResponse} response\n * @returns {Object}\n */\n onResponse(options, response) {\n /* eslint-disable no-else-return */\n if (response.headers && response.headers[responseHeaderName]) {\n options = clone(options);\n options.uri = response.headers[responseHeaderName];\n options.$redirectCount += 1;\n if (options.$redirectCount > this.webex.config.maxAppLevelRedirects) {\n return Promise.reject(new Error('Maximum redirects exceeded'));\n }\n\n return this.webex.request(options);\n } else if (\n response.headers &&\n response.body &&\n response.body.errorCode === LOCUS_REDIRECT_ERROR &&\n response.body.location\n ) {\n options = clone(options);\n\n this.webex.logger.warn('redirect: url redirects needed from', options.uri);\n if (response.options && response.options.qs) {\n // for POST requests\n const newUrl = response.body.location.split('?');\n\n options.uri = newUrl[0]; // params are already present in the qs\n } else {\n // for GET requests\n options.uri = response.body.location;\n }\n\n this.webex.logger.warn('redirect: url redirects needed to', options.uri);\n options.$redirectCount += 1;\n if (options.$redirectCount > this.webex.config.maxLocusRedirects) {\n return Promise.reject(new Error('Maximum redirects exceeded'));\n }\n\n return this.webex.request(options);\n }\n /* eslint-enable no-else-return */\n\n return response;\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_httpCore","require","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","default","result","NewTarget","constructor","_Reflect$construct","arguments","apply","_possibleConstructorReturn2","Reflect","sham","Proxy","Boolean","prototype","valueOf","call","e","requestHeaderName","responseHeaderName","LOCUS_REDIRECT_ERROR","RedirectInterceptor","_Interceptor","_inherits2","_super","_classCallCheck2","_createClass2","key","value","onRequest","options","uri","includes","webex","config","credentials","samlUrl","tokenUrl","authorizeUrl","headers","_deleteProperty","$redirectCount","onResponse","response","_clone2","maxAppLevelRedirects","_promise","reject","Error","request","body","errorCode","location","logger","warn","qs","newUrl","split","maxLocusRedirects","create","Interceptor","exports"],"sources":["redirect.js"],"sourcesContent":["/* eslint-disable prefer-destructuring */\r\n\r\n/*!\r\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\r\n */\r\n\r\nimport {clone} from 'lodash';\r\nimport {Interceptor} from '@webex/http-core';\r\n\r\nconst requestHeaderName = 'cisco-no-http-redirect';\r\nconst responseHeaderName = 'cisco-location';\r\nconst LOCUS_REDIRECT_ERROR = 2000002;\r\n\r\n/**\r\n * @class\r\n */\r\nexport default class RedirectInterceptor extends Interceptor {\r\n /**\r\n * @returns {RedirectInterceptor}\r\n */\r\n static create() {\r\n return new RedirectInterceptor({webex: this});\r\n }\r\n\r\n /**\r\n * @see Interceptor#onRequest\r\n * @param {Object} options\r\n * @returns {Object}\r\n */\r\n onRequest(options) {\r\n if (options && options.uri && typeof options.uri === 'string') {\r\n if (\r\n options.uri.includes('https://idbroker') ||\r\n options.uri.includes(this.webex.config.credentials.samlUrl) ||\r\n options.uri.includes(this.webex.config.credentials.tokenUrl) ||\r\n options.uri.includes(this.webex.config.credentials.authorizeUrl)\r\n ) {\r\n return options;\r\n }\r\n }\r\n\r\n // If cisco-no-http-redirect is already set, don't overwrite it\r\n if (requestHeaderName in options.headers) {\r\n // If cisco-no-http-redirect is set to null, false, or undefined, delete\r\n // it to prevent a CORS preflight.\r\n if (!options.headers[requestHeaderName]) {\r\n Reflect.deleteProperty(options.headers, requestHeaderName);\r\n }\r\n\r\n return options;\r\n }\r\n options.headers[requestHeaderName] = true;\r\n options.$redirectCount = options.$redirectCount || 0;\r\n\r\n return options;\r\n }\r\n\r\n /**\r\n * @see Interceptor#onResponse\r\n * @param {Object} options\r\n * @param {HttpResponse} response\r\n * @returns {Object}\r\n */\r\n onResponse(options, response) {\r\n /* eslint-disable no-else-return */\r\n if (response.headers && response.headers[responseHeaderName]) {\r\n options = clone(options);\r\n options.uri = response.headers[responseHeaderName];\r\n options.$redirectCount += 1;\r\n if (options.$redirectCount > this.webex.config.maxAppLevelRedirects) {\r\n return Promise.reject(new Error('Maximum redirects exceeded'));\r\n }\r\n\r\n return this.webex.request(options);\r\n } else if (\r\n response.headers &&\r\n response.body &&\r\n response.body.errorCode === LOCUS_REDIRECT_ERROR &&\r\n response.body.location\r\n ) {\r\n options = clone(options);\r\n\r\n this.webex.logger.warn('redirect: url redirects needed from', options.uri);\r\n if (response.options && response.options.qs) {\r\n // for POST requests\r\n const newUrl = response.body.location.split('?');\r\n\r\n options.uri = newUrl[0]; // params are already present in the qs\r\n } else {\r\n // for GET requests\r\n options.uri = response.body.location;\r\n }\r\n\r\n this.webex.logger.warn('redirect: url redirects needed to', options.uri);\r\n options.$redirectCount += 1;\r\n if (options.$redirectCount > this.webex.config.maxLocusRedirects) {\r\n return Promise.reject(new Error('Maximum redirects exceeded'));\r\n }\r\n\r\n return this.webex.request(options);\r\n }\r\n /* eslint-enable no-else-return */\r\n\r\n return response;\r\n }\r\n}\r\n"],"mappings":"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"}
@@ -17,8 +17,8 @@ var _get2 = _interopRequireDefault(require("lodash/get"));
17
17
  var _httpCore = require("@webex/http-core");
18
18
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = _Reflect$construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
19
19
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !_Reflect$construct) return false; if (_Reflect$construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(_Reflect$construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
20
- /**
21
- * @class
20
+ /**
21
+ * @class
22
22
  */
23
23
  var RequestEventInterceptor = /*#__PURE__*/function (_Interceptor) {
24
24
  (0, _inherits2.default)(RequestEventInterceptor, _Interceptor);
@@ -30,10 +30,10 @@ var RequestEventInterceptor = /*#__PURE__*/function (_Interceptor) {
30
30
  (0, _createClass2.default)(RequestEventInterceptor, [{
31
31
  key: "onRequest",
32
32
  value:
33
- /**
34
- * @see Interceptor#onRequest
35
- * @param {Object} options
36
- * @returns {Object}
33
+ /**
34
+ * @see Interceptor#onRequest
35
+ * @param {Object} options
36
+ * @returns {Object}
37
37
  */
38
38
  function onRequest(options) {
39
39
  var logger = (0, _get2.default)(this, 'webex.logger', console);
@@ -45,11 +45,11 @@ var RequestEventInterceptor = /*#__PURE__*/function (_Interceptor) {
45
45
  return _promise.default.resolve(options);
46
46
  }
47
47
 
48
- /**
49
- * @see Interceptor#onRequest
50
- * @param {Object} options
51
- * @param {Error} reason
52
- * @returns {Object}
48
+ /**
49
+ * @see Interceptor#onRequest
50
+ * @param {Object} options
51
+ * @param {Error} reason
52
+ * @returns {Object}
53
53
  */
54
54
  }, {
55
55
  key: "onRequestError",
@@ -66,11 +66,11 @@ var RequestEventInterceptor = /*#__PURE__*/function (_Interceptor) {
66
66
  return _promise.default.reject(reason);
67
67
  }
68
68
 
69
- /**
70
- * @see Interceptor#onResponse
71
- * @param {Object} options
72
- * @param {HttpResponse} response
73
- * @returns {Object}
69
+ /**
70
+ * @see Interceptor#onResponse
71
+ * @param {Object} options
72
+ * @param {HttpResponse} response
73
+ * @returns {Object}
74
74
  */
75
75
  }, {
76
76
  key: "onResponse",
@@ -84,11 +84,11 @@ var RequestEventInterceptor = /*#__PURE__*/function (_Interceptor) {
84
84
  return _promise.default.resolve(response);
85
85
  }
86
86
 
87
- /**
88
- * @see Interceptor#onResponseError
89
- * @param {Object} options
90
- * @param {Error} reason
91
- * @returns {Object}
87
+ /**
88
+ * @see Interceptor#onResponseError
89
+ * @param {Object} options
90
+ * @param {Error} reason
91
+ * @returns {Object}
92
92
  */
93
93
  }, {
94
94
  key: "onResponseError",
@@ -105,8 +105,8 @@ var RequestEventInterceptor = /*#__PURE__*/function (_Interceptor) {
105
105
  }], [{
106
106
  key: "create",
107
107
  value:
108
- /**
109
- * @returns {RequestEventInterceptor}
108
+ /**
109
+ * @returns {RequestEventInterceptor}
110
110
  */
111
111
  function create() {
112
112
  return new RequestEventInterceptor({
@@ -1 +1 @@
1
- {"version":3,"names":["_httpCore","require","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","default","result","NewTarget","constructor","_Reflect$construct","arguments","apply","_possibleConstructorReturn2","Reflect","sham","Proxy","Boolean","prototype","valueOf","call","e","RequestEventInterceptor","_Interceptor","_inherits2","_super","_classCallCheck2","_createClass2","key","value","onRequest","options","logger","_get2","console","webex","trigger","error","warn","_promise","resolve","onRequestError","reason","reject","onResponse","response","onResponseError","create","Interceptor","exports"],"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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"}
1
+ {"version":3,"names":["_httpCore","require","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","default","result","NewTarget","constructor","_Reflect$construct","arguments","apply","_possibleConstructorReturn2","Reflect","sham","Proxy","Boolean","prototype","valueOf","call","e","RequestEventInterceptor","_Interceptor","_inherits2","_super","_classCallCheck2","_createClass2","key","value","onRequest","options","logger","_get2","console","webex","trigger","error","warn","_promise","resolve","onRequestError","reason","reject","onResponse","response","onResponseError","create","Interceptor","exports"],"sources":["request-event.js"],"sourcesContent":["/*!\r\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\r\n */\r\n\r\nimport {get} from 'lodash';\r\nimport {Interceptor} from '@webex/http-core';\r\n\r\n/**\r\n * @class\r\n */\r\nexport default class RequestEventInterceptor extends Interceptor {\r\n /**\r\n * @returns {RequestEventInterceptor}\r\n */\r\n static create() {\r\n return new RequestEventInterceptor({webex: this});\r\n }\r\n\r\n /**\r\n * @see Interceptor#onRequest\r\n * @param {Object} options\r\n * @returns {Object}\r\n */\r\n onRequest(options) {\r\n const logger = get(this, 'webex.logger', console);\r\n\r\n try {\r\n this.webex.trigger('request:start', options);\r\n } catch (error) {\r\n logger.warn('event handler for request:start failed ', error);\r\n }\r\n\r\n return Promise.resolve(options);\r\n }\r\n\r\n /**\r\n * @see Interceptor#onRequest\r\n * @param {Object} options\r\n * @param {Error} reason\r\n * @returns {Object}\r\n */\r\n onRequestError(options, reason) {\r\n // We need to do the normal onRequest logging, but then log how the request\r\n // failed since the response logger won't be called.\r\n const logger = get(this, 'webex.logger', console);\r\n\r\n try {\r\n this.webex.trigger('request:end', options, reason);\r\n this.webex.trigger('request:failure', options, reason);\r\n } catch (error) {\r\n logger.warn('event handler for request:end failed ', error);\r\n }\r\n\r\n return Promise.reject(reason);\r\n }\r\n\r\n /**\r\n * @see Interceptor#onResponse\r\n * @param {Object} options\r\n * @param {HttpResponse} response\r\n * @returns {Object}\r\n */\r\n onResponse(options, response) {\r\n const logger = get(this, 'webex.logger', console);\r\n\r\n try {\r\n this.webex.trigger('request:success', response.options, response);\r\n } catch (error) {\r\n logger.warn('event handler for request:success failed ', error);\r\n }\r\n\r\n return Promise.resolve(response);\r\n }\r\n\r\n /**\r\n * @see Interceptor#onResponseError\r\n * @param {Object} options\r\n * @param {Error} reason\r\n * @returns {Object}\r\n */\r\n onResponseError(options, reason) {\r\n const logger = get(this, 'webex.logger', console);\r\n\r\n try {\r\n this.webex.trigger('request:end', options, reason);\r\n this.webex.trigger('request:failure', options, reason);\r\n } catch (error) {\r\n logger.warn('event handler for request:failure failed ', error);\r\n }\r\n\r\n return Promise.reject(reason);\r\n }\r\n}\r\n"],"mappings":"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"}
@@ -22,8 +22,8 @@ var _util = _interopRequireDefault(require("util"));
22
22
  var _httpCore = require("@webex/http-core");
23
23
  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); }; }
24
24
  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; } }
25
- /**
26
- * @class
25
+ /**
26
+ * @class
27
27
  */
28
28
  var RequestLoggerInterceptor = /*#__PURE__*/function (_Interceptor) {
29
29
  (0, _inherits2.default)(RequestLoggerInterceptor, _Interceptor);
@@ -35,10 +35,10 @@ var RequestLoggerInterceptor = /*#__PURE__*/function (_Interceptor) {
35
35
  (0, _createClass2.default)(RequestLoggerInterceptor, [{
36
36
  key: "onRequest",
37
37
  value:
38
- /**
39
- * @see Interceptor#onRequest
40
- * @param {Object} options
41
- * @returns {Object}
38
+ /**
39
+ * @see Interceptor#onRequest
40
+ * @param {Object} options
41
+ * @returns {Object}
42
42
  */
43
43
  function onRequest(options) {
44
44
  var logger = (0, _get2.default)(this, 'webex.logger', console);
@@ -71,11 +71,11 @@ var RequestLoggerInterceptor = /*#__PURE__*/function (_Interceptor) {
71
71
  return _promise.default.resolve(options);
72
72
  }
73
73
 
74
- /**
75
- * @see Interceptor#onRequest
76
- * @param {Object} options
77
- * @param {Error} reason
78
- * @returns {Object}
74
+ /**
75
+ * @see Interceptor#onRequest
76
+ * @param {Object} options
77
+ * @param {Error} reason
78
+ * @returns {Object}
79
79
  */
80
80
  }, {
81
81
  key: "onRequestError",
@@ -91,8 +91,8 @@ var RequestLoggerInterceptor = /*#__PURE__*/function (_Interceptor) {
91
91
  }], [{
92
92
  key: "create",
93
93
  value:
94
- /**
95
- * @returns {RequestLoggerInterceptor}
94
+ /**
95
+ * @returns {RequestLoggerInterceptor}
96
96
  */
97
97
  function create() {
98
98
  return new RequestLoggerInterceptor({
@@ -1 +1 @@
1
- {"version":3,"names":["_util","_interopRequireDefault","require","_httpCore","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","default","result","NewTarget","constructor","_Reflect$construct","arguments","apply","_possibleConstructorReturn2","Reflect","sham","Proxy","Boolean","prototype","valueOf","call","e","RequestLoggerInterceptor","_Interceptor","_inherits2","_super","_classCallCheck2","_createClass2","key","value","onRequest","options","logger","_get2","console","info","method","uri","_has2","now","Date","process","env","ENABLE_VERBOSE_NETWORK_LOGGING","getTime","toISOString","body","length","_isArray2","_isString2","util","inspect","_omit2","depth","warn","_promise","resolve","onRequestError","reason","error","stack","reject","create","webex","Interceptor","exports"],"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":"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"}
1
+ {"version":3,"names":["_util","_interopRequireDefault","require","_httpCore","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","default","result","NewTarget","constructor","_Reflect$construct","arguments","apply","_possibleConstructorReturn2","Reflect","sham","Proxy","Boolean","prototype","valueOf","call","e","RequestLoggerInterceptor","_Interceptor","_inherits2","_super","_classCallCheck2","_createClass2","key","value","onRequest","options","logger","_get2","console","info","method","uri","_has2","now","Date","process","env","ENABLE_VERBOSE_NETWORK_LOGGING","getTime","toISOString","body","length","_isArray2","_isString2","util","inspect","_omit2","depth","warn","_promise","resolve","onRequestError","reason","error","stack","reject","create","webex","Interceptor","exports"],"sources":["request-logger.js"],"sourcesContent":["/*!\r\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\r\n */\r\n\r\nimport util from 'util';\r\n\r\nimport {get, has, isArray, isString, omit} from 'lodash';\r\nimport {Interceptor} from '@webex/http-core';\r\n\r\n/**\r\n * @class\r\n */\r\nexport default class RequestLoggerInterceptor extends Interceptor {\r\n /**\r\n * @returns {RequestLoggerInterceptor}\r\n */\r\n static create() {\r\n return new RequestLoggerInterceptor({webex: this});\r\n }\r\n\r\n /**\r\n * @see Interceptor#onRequest\r\n * @param {Object} options\r\n * @returns {Object}\r\n */\r\n onRequest(options) {\r\n const logger = get(this, 'webex.logger', console);\r\n\r\n logger.info('/**********************************************************************\\\\ ');\r\n logger.info('Request:', options.method || 'GET', options.uri);\r\n logger.info('WEBEX_TRACKINGID: ', get(options, 'headers.trackingid'));\r\n /* istanbul ignore next */\r\n if (has(options, 'headers.x-trans-id')) {\r\n logger.info('X-Trans-ID: ', get(options, 'headers.x-trans-id'));\r\n }\r\n const now = new Date();\r\n\r\n if (process.env.ENABLE_VERBOSE_NETWORK_LOGGING) {\r\n logger.info('timestamp (start): ', now.getTime(), now.toISOString());\r\n try {\r\n // Determine if body is a buffer without relying on Buffer to avoid\r\n // node/browser conflicts.\r\n if (\r\n options.body &&\r\n options.body.length &&\r\n !isArray(options.body) &&\r\n !isString(options.body)\r\n ) {\r\n logger.info('Request Options:', util.inspect(omit(options, 'body'), {depth: null}));\r\n } else {\r\n logger.info('Request Options:', util.inspect(options, {depth: null}));\r\n }\r\n } catch (e) {\r\n logger.warn('Could not stringify request options:', e);\r\n }\r\n }\r\n\r\n return Promise.resolve(options);\r\n }\r\n\r\n /**\r\n * @see Interceptor#onRequest\r\n * @param {Object} options\r\n * @param {Error} reason\r\n * @returns {Object}\r\n */\r\n onRequestError(options, reason) {\r\n // We need to do the normal onRequest logging, but then log how the request\r\n // failed since the response logger won't be called.\r\n this.onRequest(options);\r\n const logger = get(this, 'webex.logger', console);\r\n\r\n logger.error('Request Failed: ', reason.stack);\r\n logger.info('\\\\**********************************************************************/');\r\n\r\n return Promise.reject(reason);\r\n }\r\n}\r\n"],"mappings":"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"}
@@ -17,8 +17,8 @@ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime-corejs2/he
17
17
  var _httpCore = require("@webex/http-core");
18
18
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = _Reflect$construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
19
19
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !_Reflect$construct) return false; if (_Reflect$construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(_Reflect$construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
20
- /**
21
- * @class
20
+ /**
21
+ * @class
22
22
  */
23
23
  var RequestTimingInterceptor = /*#__PURE__*/function (_Interceptor) {
24
24
  (0, _inherits2.default)(RequestTimingInterceptor, _Interceptor);
@@ -30,10 +30,10 @@ var RequestTimingInterceptor = /*#__PURE__*/function (_Interceptor) {
30
30
  (0, _createClass2.default)(RequestTimingInterceptor, [{
31
31
  key: "onRequest",
32
32
  value:
33
- /**
34
- * @see Interceptor#onRequest
35
- * @param {Object} options
36
- * @returns {Object}
33
+ /**
34
+ * @see Interceptor#onRequest
35
+ * @param {Object} options
36
+ * @returns {Object}
37
37
  */
38
38
  function onRequest(options) {
39
39
  options.$timings = options.$timings || {};
@@ -41,10 +41,10 @@ var RequestTimingInterceptor = /*#__PURE__*/function (_Interceptor) {
41
41
  return options;
42
42
  }
43
43
 
44
- /**
45
- * @see Interceptor#onRequestError
46
- * @param {Object} options
47
- * @returns {Object}
44
+ /**
45
+ * @see Interceptor#onRequestError
46
+ * @param {Object} options
47
+ * @returns {Object}
48
48
  */
49
49
  }, {
50
50
  key: "onRequestError",
@@ -53,11 +53,11 @@ var RequestTimingInterceptor = /*#__PURE__*/function (_Interceptor) {
53
53
  return _promise.default.reject(options);
54
54
  }
55
55
 
56
- /**
57
- * @see Interceptor#onResponse
58
- * @param {Object} options
59
- * @param {HttpResponse} response
60
- * @returns {Object}
56
+ /**
57
+ * @see Interceptor#onResponse
58
+ * @param {Object} options
59
+ * @param {HttpResponse} response
60
+ * @returns {Object}
61
61
  */
62
62
  }, {
63
63
  key: "onResponse",
@@ -66,11 +66,11 @@ var RequestTimingInterceptor = /*#__PURE__*/function (_Interceptor) {
66
66
  return _promise.default.resolve(response);
67
67
  }
68
68
 
69
- /**
70
- * @see Interceptor#onResponseError
71
- * @param {Object} options
72
- * @param {Error} reason
73
- * @returns {Object}
69
+ /**
70
+ * @see Interceptor#onResponseError
71
+ * @param {Object} options
72
+ * @param {Error} reason
73
+ * @returns {Object}
74
74
  */
75
75
  }, {
76
76
  key: "onResponseError",
@@ -81,9 +81,9 @@ var RequestTimingInterceptor = /*#__PURE__*/function (_Interceptor) {
81
81
  }], [{
82
82
  key: "create",
83
83
  value:
84
- /**
85
- * @param {Object} options
86
- * @returns {RequestTimingInterceptor}
84
+ /**
85
+ * @param {Object} options
86
+ * @returns {RequestTimingInterceptor}
87
87
  */
88
88
  function create(options) {
89
89
  return new RequestTimingInterceptor(this, options);
@@ -1 +1 @@
1
- {"version":3,"names":["_httpCore","require","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","default","result","NewTarget","constructor","_Reflect$construct","arguments","apply","_possibleConstructorReturn2","Reflect","sham","Proxy","Boolean","prototype","valueOf","call","e","RequestTimingInterceptor","_Interceptor","_inherits2","_super","_classCallCheck2","_createClass2","key","value","onRequest","options","$timings","requestStart","_now","onRequestError","requestEnd","requestFail","_promise","reject","onResponse","response","resolve","onResponseError","reason","create","Interceptor","exports"],"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,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;AAE7C;AACA;AACA;AAFA,IAGqBC,wBAAwB,0BAAAC,YAAA;EAAA,IAAAC,UAAA,CAAAlB,OAAA,EAAAgB,wBAAA,EAAAC,YAAA;EAAA,IAAAE,MAAA,GAAA1B,YAAA,CAAAuB,wBAAA;EAAA,SAAAA,yBAAA;IAAA,IAAAI,gBAAA,CAAApB,OAAA,QAAAgB,wBAAA;IAAA,OAAAG,MAAA,CAAAb,KAAA,OAAAD,SAAA;EAAA;EAAA,IAAAgB,aAAA,CAAArB,OAAA,EAAAgB,wBAAA;IAAAM,GAAA;IAAAC,KAAA;IAS3C;AACF;AACA;AACA;AACA;IACE,SAAAC,UAAUC,OAAO,EAAE;MACjBA,OAAO,CAACC,QAAQ,GAAGD,OAAO,CAACC,QAAQ,IAAI,CAAC,CAAC;MACzCD,OAAO,CAACC,QAAQ,CAACC,YAAY,GAAG,IAAAC,IAAA,CAAA5B,OAAA,GAAU;MAE1C,OAAOyB,OAAO;IAChB;;IAEA;AACF;AACA;AACA;AACA;EAJE;IAAAH,GAAA;IAAAC,KAAA,EAKA,SAAAM,eAAeJ,OAAO,EAAE;MACtBA,OAAO,CAACC,QAAQ,CAACI,UAAU,GAAGL,OAAO,CAACC,QAAQ,CAACK,WAAW,GAAG,IAAAH,IAAA,CAAA5B,OAAA,GAAU;MAEvE,OAAOgC,QAAA,CAAAhC,OAAA,CAAQiC,MAAM,CAACR,OAAO,CAAC;IAChC;;IAEA;AACF;AACA;AACA;AACA;AACA;EALE;IAAAH,GAAA;IAAAC,KAAA,EAMA,SAAAW,WAAWT,OAAO,EAAEU,QAAQ,EAAE;MAC5BV,OAAO,CAACC,QAAQ,CAACI,UAAU,GAAG,IAAAF,IAAA,CAAA5B,OAAA,GAAU;MAExC,OAAOgC,QAAA,CAAAhC,OAAA,CAAQoC,OAAO,CAACD,QAAQ,CAAC;IAClC;;IAEA;AACF;AACA;AACA;AACA;AACA;EALE;IAAAb,GAAA;IAAAC,KAAA,EAMA,SAAAc,gBAAgBZ,OAAO,EAAEa,MAAM,EAAE;MAC/Bb,OAAO,CAACC,QAAQ,CAACI,UAAU,GAAGL,OAAO,CAACC,QAAQ,CAACK,WAAW,GAAG,IAAAH,IAAA,CAAA5B,OAAA,GAAU;MAEvE,OAAOgC,QAAA,CAAAhC,OAAA,CAAQiC,MAAM,CAACK,MAAM,CAAC;IAC/B;EAAC;IAAAhB,GAAA;IAAAC,KAAA;IArDD;AACF;AACA;AACA;IACE,SAAAgB,OAAcd,OAAO,EAAE;MACrB,OAAO,IAAIT,wBAAwB,CAAC,IAAI,EAAES,OAAO,CAAC;IACpD;EAAC;EAAA,OAAAT,wBAAA;AAAA,EAPmDwB,qBAAW;AAAAC,OAAA,CAAAzC,OAAA,GAAAgB,wBAAA"}
1
+ {"version":3,"names":["_httpCore","require","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","default","result","NewTarget","constructor","_Reflect$construct","arguments","apply","_possibleConstructorReturn2","Reflect","sham","Proxy","Boolean","prototype","valueOf","call","e","RequestTimingInterceptor","_Interceptor","_inherits2","_super","_classCallCheck2","_createClass2","key","value","onRequest","options","$timings","requestStart","_now","onRequestError","requestEnd","requestFail","_promise","reject","onResponse","response","resolve","onResponseError","reason","create","Interceptor","exports"],"sources":["request-timing.js"],"sourcesContent":["/*!\r\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\r\n */\r\n\r\nimport {Interceptor} from '@webex/http-core';\r\n\r\n/**\r\n * @class\r\n */\r\nexport default class RequestTimingInterceptor extends Interceptor {\r\n /**\r\n * @param {Object} options\r\n * @returns {RequestTimingInterceptor}\r\n */\r\n static create(options) {\r\n return new RequestTimingInterceptor(this, options);\r\n }\r\n\r\n /**\r\n * @see Interceptor#onRequest\r\n * @param {Object} options\r\n * @returns {Object}\r\n */\r\n onRequest(options) {\r\n options.$timings = options.$timings || {};\r\n options.$timings.requestStart = Date.now();\r\n\r\n return options;\r\n }\r\n\r\n /**\r\n * @see Interceptor#onRequestError\r\n * @param {Object} options\r\n * @returns {Object}\r\n */\r\n onRequestError(options) {\r\n options.$timings.requestEnd = options.$timings.requestFail = Date.now();\r\n\r\n return Promise.reject(options);\r\n }\r\n\r\n /**\r\n * @see Interceptor#onResponse\r\n * @param {Object} options\r\n * @param {HttpResponse} response\r\n * @returns {Object}\r\n */\r\n onResponse(options, response) {\r\n options.$timings.requestEnd = Date.now();\r\n\r\n return Promise.resolve(response);\r\n }\r\n\r\n /**\r\n * @see Interceptor#onResponseError\r\n * @param {Object} options\r\n * @param {Error} reason\r\n * @returns {Object}\r\n */\r\n onResponseError(options, reason) {\r\n options.$timings.requestEnd = options.$timings.requestFail = Date.now();\r\n\r\n return Promise.reject(reason);\r\n }\r\n}\r\n"],"mappings":";;;;;;;;;;;;;;;;AAIA,IAAAA,SAAA,GAAAC,OAAA;AAA6C,SAAAC,aAAAC,OAAA,QAAAC,yBAAA,GAAAC,yBAAA,oBAAAC,qBAAA,QAAAC,KAAA,OAAAC,gBAAA,CAAAC,OAAA,EAAAN,OAAA,GAAAO,MAAA,MAAAN,yBAAA,QAAAO,SAAA,OAAAH,gBAAA,CAAAC,OAAA,QAAAG,WAAA,EAAAF,MAAA,GAAAG,kBAAA,CAAAN,KAAA,EAAAO,SAAA,EAAAH,SAAA,YAAAD,MAAA,GAAAH,KAAA,CAAAQ,KAAA,OAAAD,SAAA,gBAAAE,2BAAA,CAAAP,OAAA,QAAAC,MAAA;AAAA,SAAAL,0BAAA,eAAAY,OAAA,qBAAAJ,kBAAA,oBAAAA,kBAAA,CAAAK,IAAA,2BAAAC,KAAA,oCAAAC,OAAA,CAAAC,SAAA,CAAAC,OAAA,CAAAC,IAAA,CAAAV,kBAAA,CAAAO,OAAA,8CAAAI,CAAA;AAE7C;AACA;AACA;AAFA,IAGqBC,wBAAwB,0BAAAC,YAAA;EAAA,IAAAC,UAAA,CAAAlB,OAAA,EAAAgB,wBAAA,EAAAC,YAAA;EAAA,IAAAE,MAAA,GAAA1B,YAAA,CAAAuB,wBAAA;EAAA,SAAAA,yBAAA;IAAA,IAAAI,gBAAA,CAAApB,OAAA,QAAAgB,wBAAA;IAAA,OAAAG,MAAA,CAAAb,KAAA,OAAAD,SAAA;EAAA;EAAA,IAAAgB,aAAA,CAAArB,OAAA,EAAAgB,wBAAA;IAAAM,GAAA;IAAAC,KAAA;IAS3C;AACF;AACA;AACA;AACA;IACE,SAAAC,UAAUC,OAAO,EAAE;MACjBA,OAAO,CAACC,QAAQ,GAAGD,OAAO,CAACC,QAAQ,IAAI,CAAC,CAAC;MACzCD,OAAO,CAACC,QAAQ,CAACC,YAAY,GAAG,IAAAC,IAAA,CAAA5B,OAAA,GAAU;MAE1C,OAAOyB,OAAO;IAChB;;IAEA;AACF;AACA;AACA;AACA;EAJE;IAAAH,GAAA;IAAAC,KAAA,EAKA,SAAAM,eAAeJ,OAAO,EAAE;MACtBA,OAAO,CAACC,QAAQ,CAACI,UAAU,GAAGL,OAAO,CAACC,QAAQ,CAACK,WAAW,GAAG,IAAAH,IAAA,CAAA5B,OAAA,GAAU;MAEvE,OAAOgC,QAAA,CAAAhC,OAAA,CAAQiC,MAAM,CAACR,OAAO,CAAC;IAChC;;IAEA;AACF;AACA;AACA;AACA;AACA;EALE;IAAAH,GAAA;IAAAC,KAAA,EAMA,SAAAW,WAAWT,OAAO,EAAEU,QAAQ,EAAE;MAC5BV,OAAO,CAACC,QAAQ,CAACI,UAAU,GAAG,IAAAF,IAAA,CAAA5B,OAAA,GAAU;MAExC,OAAOgC,QAAA,CAAAhC,OAAA,CAAQoC,OAAO,CAACD,QAAQ,CAAC;IAClC;;IAEA;AACF;AACA;AACA;AACA;AACA;EALE;IAAAb,GAAA;IAAAC,KAAA,EAMA,SAAAc,gBAAgBZ,OAAO,EAAEa,MAAM,EAAE;MAC/Bb,OAAO,CAACC,QAAQ,CAACI,UAAU,GAAGL,OAAO,CAACC,QAAQ,CAACK,WAAW,GAAG,IAAAH,IAAA,CAAA5B,OAAA,GAAU;MAEvE,OAAOgC,QAAA,CAAAhC,OAAA,CAAQiC,MAAM,CAACK,MAAM,CAAC;IAC/B;EAAC;IAAAhB,GAAA;IAAAC,KAAA;IArDD;AACF;AACA;AACA;IACE,SAAAgB,OAAcd,OAAO,EAAE;MACrB,OAAO,IAAIT,wBAAwB,CAAC,IAAI,EAAES,OAAO,CAAC;IACpD;EAAC;EAAA,OAAAT,wBAAA;AAAA,EAPmDwB,qBAAW;AAAAC,OAAA,CAAAzC,OAAA,GAAAgB,wBAAA"}