@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
@@ -21,8 +21,8 @@ var _httpCore = require("@webex/http-core");
21
21
  var _common = require("@webex/common");
22
22
  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); }; }
23
23
  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; } }
24
- /**
25
- * @class
24
+ /**
25
+ * @class
26
26
  */
27
27
  var ResponseLoggerInterceptor = /*#__PURE__*/function (_Interceptor) {
28
28
  (0, _inherits2.default)(ResponseLoggerInterceptor, _Interceptor);
@@ -34,11 +34,11 @@ var ResponseLoggerInterceptor = /*#__PURE__*/function (_Interceptor) {
34
34
  (0, _createClass2.default)(ResponseLoggerInterceptor, [{
35
35
  key: "onResponse",
36
36
  value:
37
- /**
38
- * @see Interceptor#onRequest
39
- * @param {Object} options
40
- * @param {HttpResponse} response
41
- * @returns {Object}
37
+ /**
38
+ * @see Interceptor#onRequest
39
+ * @param {Object} options
40
+ * @param {HttpResponse} response
41
+ * @returns {Object}
42
42
  */
43
43
  function onResponse(options, response) {
44
44
  var now = new Date();
@@ -62,11 +62,11 @@ var ResponseLoggerInterceptor = /*#__PURE__*/function (_Interceptor) {
62
62
  return response;
63
63
  }
64
64
 
65
- /**
66
- * @see Interceptor#onRequest
67
- * @param {Object} options
68
- * @param {Object} reason
69
- * @returns {Object}
65
+ /**
66
+ * @see Interceptor#onRequest
67
+ * @param {Object} options
68
+ * @param {Object} reason
69
+ * @returns {Object}
70
70
  */
71
71
  }, {
72
72
  key: "onResponseError",
@@ -88,11 +88,11 @@ var ResponseLoggerInterceptor = /*#__PURE__*/function (_Interceptor) {
88
88
  return _promise.default.reject(reason);
89
89
  }
90
90
 
91
- /**
92
- * Prints the basic header
93
- * @param {Object} options
94
- * @param {HttpResponse|WebexHttpError} response
95
- * @returns {undefined}
91
+ /**
92
+ * Prints the basic header
93
+ * @param {Object} options
94
+ * @param {HttpResponse|WebexHttpError} response
95
+ * @returns {undefined}
96
96
  */
97
97
  }, {
98
98
  key: "printResponseHeader",
@@ -106,8 +106,8 @@ var ResponseLoggerInterceptor = /*#__PURE__*/function (_Interceptor) {
106
106
  }], [{
107
107
  key: "create",
108
108
  value:
109
- /**
110
- * @returns {ResponseLoggerInterceptor}
109
+ /**
110
+ * @returns {ResponseLoggerInterceptor}
111
111
  */
112
112
  function create() {
113
113
  return new ResponseLoggerInterceptor({
@@ -1 +1 @@
1
- {"version":3,"names":["_util","_interopRequireDefault","require","_httpCore","_common","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","default","result","NewTarget","constructor","_Reflect$construct","arguments","apply","_possibleConstructorReturn2","Reflect","sham","Proxy","Boolean","prototype","valueOf","call","e","ResponseLoggerInterceptor","_Interceptor","_inherits2","_super","_classCallCheck2","_createClass2","key","value","onResponse","options","response","now","Date","printResponseHeader","logger","_get2","console","process","env","ENABLE_VERBOSE_NETWORK_LOGGING","info","getTime","toISOString","body","isBuffer","_typeof2","util","inspect","_omit2","depth","err","onResponseError","reason","error","_promise","reject","statusCode","$timings","networkEnd","networkStart","requestEnd","requestStart","create","webex","Interceptor","exports"],"sources":["response-logger.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport util from 'util';\n\nimport {get, omit} from 'lodash';\nimport {Interceptor} from '@webex/http-core';\nimport {isBuffer} from '@webex/common';\n\n/**\n * @class\n */\nexport default class ResponseLoggerInterceptor extends Interceptor {\n /**\n * @returns {ResponseLoggerInterceptor}\n */\n static create() {\n return new ResponseLoggerInterceptor({webex: this});\n }\n\n /**\n * @see Interceptor#onRequest\n * @param {Object} options\n * @param {HttpResponse} response\n * @returns {Object}\n */\n onResponse(options, response) {\n const now = new Date();\n\n this.printResponseHeader(options, response);\n\n const logger = get(this, 'webex.logger', console);\n\n if (process.env.ENABLE_VERBOSE_NETWORK_LOGGING) {\n logger.info('timestamp (end): ', now.getTime(), now.toISOString());\n if (typeof response.body === 'string' || isBuffer(response.body)) {\n logger.info('Response: ', 'Not printed, it`s probably a file');\n } else if (typeof response.body === 'object') {\n try {\n logger.info('Response: ', util.inspect(omit(response.body, 'features'), {depth: null}));\n } catch (err) {\n logger.info('Response: ', '[Not Serializable]', err);\n }\n }\n }\n logger.info('\\\\**********************************************************************/');\n\n return response;\n }\n\n /**\n * @see Interceptor#onRequest\n * @param {Object} options\n * @param {Object} reason\n * @returns {Object}\n */\n onResponseError(options, reason) {\n const now = new Date();\n\n this.printResponseHeader(options, reason);\n\n const logger = get(this, 'webex.logger', console);\n\n if (process.env.ENABLE_VERBOSE_NETWORK_LOGGING) {\n logger.info('timestamp (end): ', now.getTime(), now.toISOString());\n try {\n logger.error('Response: ', util.inspect(reason.body, {depth: null}));\n } catch (err) {\n logger.error('Response: ', reason.body);\n }\n }\n logger.info('\\\\**********************************************************************/');\n\n return Promise.reject(reason);\n }\n\n /**\n * Prints the basic header\n * @param {Object} options\n * @param {HttpResponse|WebexHttpError} response\n * @returns {undefined}\n */\n printResponseHeader(options, response) {\n const logger = get(this, 'webex.logger', console);\n\n logger.info('Status Code:', response.statusCode);\n logger.info(\n 'WEBEX_TRACKINGID:',\n get(options, 'headers.trackingid') || get(response, 'headers.trackingid')\n );\n logger.info('Network duration:', options.$timings.networkEnd - options.$timings.networkStart);\n logger.info(\n 'Processing duration:',\n options.$timings.requestEnd - options.$timings.requestStart\n );\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_util","_interopRequireDefault","require","_httpCore","_common","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","default","result","NewTarget","constructor","_Reflect$construct","arguments","apply","_possibleConstructorReturn2","Reflect","sham","Proxy","Boolean","prototype","valueOf","call","e","ResponseLoggerInterceptor","_Interceptor","_inherits2","_super","_classCallCheck2","_createClass2","key","value","onResponse","options","response","now","Date","printResponseHeader","logger","_get2","console","process","env","ENABLE_VERBOSE_NETWORK_LOGGING","info","getTime","toISOString","body","isBuffer","_typeof2","util","inspect","_omit2","depth","err","onResponseError","reason","error","_promise","reject","statusCode","$timings","networkEnd","networkStart","requestEnd","requestStart","create","webex","Interceptor","exports"],"sources":["response-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, omit} from 'lodash';\r\nimport {Interceptor} from '@webex/http-core';\r\nimport {isBuffer} from '@webex/common';\r\n\r\n/**\r\n * @class\r\n */\r\nexport default class ResponseLoggerInterceptor extends Interceptor {\r\n /**\r\n * @returns {ResponseLoggerInterceptor}\r\n */\r\n static create() {\r\n return new ResponseLoggerInterceptor({webex: this});\r\n }\r\n\r\n /**\r\n * @see Interceptor#onRequest\r\n * @param {Object} options\r\n * @param {HttpResponse} response\r\n * @returns {Object}\r\n */\r\n onResponse(options, response) {\r\n const now = new Date();\r\n\r\n this.printResponseHeader(options, response);\r\n\r\n const logger = get(this, 'webex.logger', console);\r\n\r\n if (process.env.ENABLE_VERBOSE_NETWORK_LOGGING) {\r\n logger.info('timestamp (end): ', now.getTime(), now.toISOString());\r\n if (typeof response.body === 'string' || isBuffer(response.body)) {\r\n logger.info('Response: ', 'Not printed, it`s probably a file');\r\n } else if (typeof response.body === 'object') {\r\n try {\r\n logger.info('Response: ', util.inspect(omit(response.body, 'features'), {depth: null}));\r\n } catch (err) {\r\n logger.info('Response: ', '[Not Serializable]', err);\r\n }\r\n }\r\n }\r\n logger.info('\\\\**********************************************************************/');\r\n\r\n return response;\r\n }\r\n\r\n /**\r\n * @see Interceptor#onRequest\r\n * @param {Object} options\r\n * @param {Object} reason\r\n * @returns {Object}\r\n */\r\n onResponseError(options, reason) {\r\n const now = new Date();\r\n\r\n this.printResponseHeader(options, reason);\r\n\r\n const logger = get(this, 'webex.logger', console);\r\n\r\n if (process.env.ENABLE_VERBOSE_NETWORK_LOGGING) {\r\n logger.info('timestamp (end): ', now.getTime(), now.toISOString());\r\n try {\r\n logger.error('Response: ', util.inspect(reason.body, {depth: null}));\r\n } catch (err) {\r\n logger.error('Response: ', reason.body);\r\n }\r\n }\r\n logger.info('\\\\**********************************************************************/');\r\n\r\n return Promise.reject(reason);\r\n }\r\n\r\n /**\r\n * Prints the basic header\r\n * @param {Object} options\r\n * @param {HttpResponse|WebexHttpError} response\r\n * @returns {undefined}\r\n */\r\n printResponseHeader(options, response) {\r\n const logger = get(this, 'webex.logger', console);\r\n\r\n logger.info('Status Code:', response.statusCode);\r\n logger.info(\r\n 'WEBEX_TRACKINGID:',\r\n get(options, 'headers.trackingid') || get(response, 'headers.trackingid')\r\n );\r\n logger.info('Network duration:', options.$timings.networkEnd - options.$timings.networkStart);\r\n logger.info(\r\n 'Processing duration:',\r\n options.$timings.requestEnd - options.$timings.requestStart\r\n );\r\n }\r\n}\r\n"],"mappings":"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"}
@@ -21,33 +21,33 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
21
21
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !_Reflect$construct) return false; if (_Reflect$construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(_Reflect$construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
22
22
  var strings = new _weakMap.default();
23
23
 
24
- /**
25
- * Sets a 'user-agent' header on all requests if one is not present.
26
- * Defaults to '@webex/http-core' though a custom user-agent can be set
27
- * using the appName and appVersion configuration. e.g.
28
- *
29
- * webex = WebexSdk.init({
30
- * credentials: {
31
- * supertoken: superToken
32
- * },
33
- * config: {
34
- * credentials: {
35
- * client_id,
36
- * client_secret
37
- * },
38
- * appName: 'custom-user-agent',
39
- * appVersion: '1.0',
40
- * }
41
- * });
24
+ /**
25
+ * Sets a 'user-agent' header on all requests if one is not present.
26
+ * Defaults to '@webex/http-core' though a custom user-agent can be set
27
+ * using the appName and appVersion configuration. e.g.
28
+ *
29
+ * webex = WebexSdk.init({
30
+ * credentials: {
31
+ * supertoken: superToken
32
+ * },
33
+ * config: {
34
+ * credentials: {
35
+ * client_id,
36
+ * client_secret
37
+ * },
38
+ * appName: 'custom-user-agent',
39
+ * appVersion: '1.0',
40
+ * }
41
+ * });
42
42
  */
43
43
  var UserAgentInterceptor = /*#__PURE__*/function (_Interceptor) {
44
44
  (0, _inherits2.default)(UserAgentInterceptor, _Interceptor);
45
45
  var _super = _createSuper(UserAgentInterceptor);
46
- /**
47
- * @param {Object} [options={}]
48
- * @param {WebexCore} [options.webex]
49
- * @private
50
- * @returns {UserAgentInterceptor}
46
+ /**
47
+ * @param {Object} [options={}]
48
+ * @param {WebexCore} [options.webex]
49
+ * @private
50
+ * @returns {UserAgentInterceptor}
51
51
  */
52
52
  function UserAgentInterceptor() {
53
53
  var _this;
@@ -64,16 +64,16 @@ var UserAgentInterceptor = /*#__PURE__*/function (_Interceptor) {
64
64
  return _this;
65
65
  }
66
66
 
67
- /**
68
- * @returns {UserAgentInterceptor}
67
+ /**
68
+ * @returns {UserAgentInterceptor}
69
69
  */
70
70
  (0, _createClass2.default)(UserAgentInterceptor, [{
71
71
  key: "onRequest",
72
72
  value:
73
- /**
74
- * @see Interceptor#onRequest
75
- * @param {Object} options
76
- * @returns {Object}
73
+ /**
74
+ * @see Interceptor#onRequest
75
+ * @param {Object} options
76
+ * @returns {Object}
77
77
  */
78
78
  function onRequest(options) {
79
79
  // Do not set a custom user-agent for browsers
@@ -1 +1 @@
1
- {"version":3,"names":["_common","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","strings","_weakMap","UserAgentInterceptor","_Interceptor","_inherits2","_super","_this","options","length","undefined","_classCallCheck2","appName","_get2","appVersion","set","_assertThisInitialized2","concat","_createClass2","key","value","onRequest","inBrowser","headers","get","create","webex","Interceptor","exports"],"sources":["user-agent.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 'user-agent' header on all requests if one is not present.\n * Defaults to '@webex/http-core' though a custom user-agent can be set\n * using the appName and appVersion 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 * appName: 'custom-user-agent',\n * appVersion: '1.0',\n * }\n * });\n */\nexport default class UserAgentInterceptor extends Interceptor {\n /**\n * @param {Object} [options={}]\n * @param {WebexCore} [options.webex]\n * @private\n * @returns {UserAgentInterceptor}\n */\n constructor(options = {}) {\n const appName = get(options, 'webex.config.appName');\n const appVersion = get(options, 'webex.config.appVersion') || '0.0';\n\n super(options);\n if (appName) {\n strings.set(this, `${appName}/${appVersion}`);\n } else {\n strings.set(this, '@webex/http-core'); // Using the traditional default from http-core\n }\n }\n\n /**\n * @returns {UserAgentInterceptor}\n */\n static create() {\n return new UserAgentInterceptor({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 custom user-agent for browsers\n if (inBrowser) {\n return options;\n }\n\n options.headers = options.headers || {};\n\n if ('user-agent' in options.headers && options.headers['spark-user-agent']) {\n return options;\n }\n\n options.headers['user-agent'] = strings.get(this);\n\n return options;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AAIA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AAA6C,SAAAE,aAAAC,OAAA,QAAAC,yBAAA,GAAAC,yBAAA,oBAAAC,qBAAA,QAAAC,KAAA,OAAAC,gBAAA,CAAAC,OAAA,EAAAN,OAAA,GAAAO,MAAA,MAAAN,yBAAA,QAAAO,SAAA,OAAAH,gBAAA,CAAAC,OAAA,QAAAG,WAAA,EAAAF,MAAA,GAAAG,kBAAA,CAAAN,KAAA,EAAAO,SAAA,EAAAH,SAAA,YAAAD,MAAA,GAAAH,KAAA,CAAAQ,KAAA,OAAAD,SAAA,gBAAAE,2BAAA,CAAAP,OAAA,QAAAC,MAAA;AAAA,SAAAL,0BAAA,eAAAY,OAAA,qBAAAJ,kBAAA,oBAAAA,kBAAA,CAAAK,IAAA,2BAAAC,KAAA,oCAAAC,OAAA,CAAAC,SAAA,CAAAC,OAAA,CAAAC,IAAA,CAAAV,kBAAA,CAAAO,OAAA,8CAAAI,CAAA;AAG7C,IAAMC,OAAO,GAAG,IAAAC,QAAA,CAAAjB,OAAA,EAAa;;AAE7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAlBA,IAmBqBkB,oBAAoB,0BAAAC,YAAA;EAAA,IAAAC,UAAA,CAAApB,OAAA,EAAAkB,oBAAA,EAAAC,YAAA;EAAA,IAAAE,MAAA,GAAA5B,YAAA,CAAAyB,oBAAA;EACvC;AACF;AACA;AACA;AACA;AACA;EACE,SAAAA,qBAAA,EAA0B;IAAA,IAAAI,KAAA;IAAA,IAAdC,OAAO,GAAAlB,SAAA,CAAAmB,MAAA,QAAAnB,SAAA,QAAAoB,SAAA,GAAApB,SAAA,MAAG,CAAC,CAAC;IAAA,IAAAqB,gBAAA,CAAA1B,OAAA,QAAAkB,oBAAA;IACtB,IAAMS,OAAO,GAAG,IAAAC,KAAA,CAAA5B,OAAA,EAAIuB,OAAO,EAAE,sBAAsB,CAAC;IACpD,IAAMM,UAAU,GAAG,IAAAD,KAAA,CAAA5B,OAAA,EAAIuB,OAAO,EAAE,yBAAyB,CAAC,IAAI,KAAK;IAEnED,KAAA,GAAAD,MAAA,CAAAP,IAAA,OAAMS,OAAO;IACb,IAAII,OAAO,EAAE;MACXX,OAAO,CAACc,GAAG,KAAAC,uBAAA,CAAA/B,OAAA,EAAAsB,KAAA,MAAAU,MAAA,CAAUL,OAAO,OAAAK,MAAA,CAAIH,UAAU,EAAG;IAC/C,CAAC,MAAM;MACLb,OAAO,CAACc,GAAG,KAAAC,uBAAA,CAAA/B,OAAA,EAAAsB,KAAA,GAAO,kBAAkB,CAAC,CAAC,CAAC;IACzC;IAAC,OAAAA,KAAA;EACH;;EAEA;AACF;AACA;EAFE,IAAAW,aAAA,CAAAjC,OAAA,EAAAkB,oBAAA;IAAAgB,GAAA;IAAAC,KAAA;IAOA;AACF;AACA;AACA;AACA;IACE,SAAAC,UAAUb,OAAO,EAAE;MACjB;MACA,IAAIc,iBAAS,EAAE;QACb,OAAOd,OAAO;MAChB;MAEAA,OAAO,CAACe,OAAO,GAAGf,OAAO,CAACe,OAAO,IAAI,CAAC,CAAC;MAEvC,IAAI,YAAY,IAAIf,OAAO,CAACe,OAAO,IAAIf,OAAO,CAACe,OAAO,CAAC,kBAAkB,CAAC,EAAE;QAC1E,OAAOf,OAAO;MAChB;MAEAA,OAAO,CAACe,OAAO,CAAC,YAAY,CAAC,GAAGtB,OAAO,CAACuB,GAAG,CAAC,IAAI,CAAC;MAEjD,OAAOhB,OAAO;IAChB;EAAC;IAAAW,GAAA;IAAAC,KAAA,EAxBD,SAAAK,OAAA,EAAgB;MACd,OAAO,IAAItB,oBAAoB,CAAC;QAACuB,KAAK,EAAE;MAAI,CAAC,CAAC;IAChD;EAAC;EAAA,OAAAvB,oBAAA;AAAA,EAxB+CwB,qBAAW;AAAAC,OAAA,CAAA3C,OAAA,GAAAkB,oBAAA"}
1
+ {"version":3,"names":["_common","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","strings","_weakMap","UserAgentInterceptor","_Interceptor","_inherits2","_super","_this","options","length","undefined","_classCallCheck2","appName","_get2","appVersion","set","_assertThisInitialized2","concat","_createClass2","key","value","onRequest","inBrowser","headers","get","create","webex","Interceptor","exports"],"sources":["user-agent.js"],"sourcesContent":["/*!\r\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\r\n */\r\n\r\nimport {inBrowser} from '@webex/common';\r\nimport {Interceptor} from '@webex/http-core';\r\nimport {get} from 'lodash';\r\n\r\nconst strings = new WeakMap();\r\n\r\n/**\r\n * Sets a 'user-agent' header on all requests if one is not present.\r\n * Defaults to '@webex/http-core' though a custom user-agent can be set\r\n * using the appName and appVersion configuration. e.g.\r\n *\r\n * webex = WebexSdk.init({\r\n * credentials: {\r\n * supertoken: superToken\r\n * },\r\n * config: {\r\n * credentials: {\r\n * client_id,\r\n * client_secret\r\n * },\r\n * appName: 'custom-user-agent',\r\n * appVersion: '1.0',\r\n * }\r\n * });\r\n */\r\nexport default class UserAgentInterceptor extends Interceptor {\r\n /**\r\n * @param {Object} [options={}]\r\n * @param {WebexCore} [options.webex]\r\n * @private\r\n * @returns {UserAgentInterceptor}\r\n */\r\n constructor(options = {}) {\r\n const appName = get(options, 'webex.config.appName');\r\n const appVersion = get(options, 'webex.config.appVersion') || '0.0';\r\n\r\n super(options);\r\n if (appName) {\r\n strings.set(this, `${appName}/${appVersion}`);\r\n } else {\r\n strings.set(this, '@webex/http-core'); // Using the traditional default from http-core\r\n }\r\n }\r\n\r\n /**\r\n * @returns {UserAgentInterceptor}\r\n */\r\n static create() {\r\n return new UserAgentInterceptor({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 // Do not set a custom user-agent for browsers\r\n if (inBrowser) {\r\n return options;\r\n }\r\n\r\n options.headers = options.headers || {};\r\n\r\n if ('user-agent' in options.headers && options.headers['spark-user-agent']) {\r\n return options;\r\n }\r\n\r\n options.headers['user-agent'] = strings.get(this);\r\n\r\n return options;\r\n }\r\n}\r\n"],"mappings":";;;;;;;;;;;;;;;;;AAIA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AAA6C,SAAAE,aAAAC,OAAA,QAAAC,yBAAA,GAAAC,yBAAA,oBAAAC,qBAAA,QAAAC,KAAA,OAAAC,gBAAA,CAAAC,OAAA,EAAAN,OAAA,GAAAO,MAAA,MAAAN,yBAAA,QAAAO,SAAA,OAAAH,gBAAA,CAAAC,OAAA,QAAAG,WAAA,EAAAF,MAAA,GAAAG,kBAAA,CAAAN,KAAA,EAAAO,SAAA,EAAAH,SAAA,YAAAD,MAAA,GAAAH,KAAA,CAAAQ,KAAA,OAAAD,SAAA,gBAAAE,2BAAA,CAAAP,OAAA,QAAAC,MAAA;AAAA,SAAAL,0BAAA,eAAAY,OAAA,qBAAAJ,kBAAA,oBAAAA,kBAAA,CAAAK,IAAA,2BAAAC,KAAA,oCAAAC,OAAA,CAAAC,SAAA,CAAAC,OAAA,CAAAC,IAAA,CAAAV,kBAAA,CAAAO,OAAA,8CAAAI,CAAA;AAG7C,IAAMC,OAAO,GAAG,IAAAC,QAAA,CAAAjB,OAAA,EAAa;;AAE7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAlBA,IAmBqBkB,oBAAoB,0BAAAC,YAAA;EAAA,IAAAC,UAAA,CAAApB,OAAA,EAAAkB,oBAAA,EAAAC,YAAA;EAAA,IAAAE,MAAA,GAAA5B,YAAA,CAAAyB,oBAAA;EACvC;AACF;AACA;AACA;AACA;AACA;EACE,SAAAA,qBAAA,EAA0B;IAAA,IAAAI,KAAA;IAAA,IAAdC,OAAO,GAAAlB,SAAA,CAAAmB,MAAA,QAAAnB,SAAA,QAAAoB,SAAA,GAAApB,SAAA,MAAG,CAAC,CAAC;IAAA,IAAAqB,gBAAA,CAAA1B,OAAA,QAAAkB,oBAAA;IACtB,IAAMS,OAAO,GAAG,IAAAC,KAAA,CAAA5B,OAAA,EAAIuB,OAAO,EAAE,sBAAsB,CAAC;IACpD,IAAMM,UAAU,GAAG,IAAAD,KAAA,CAAA5B,OAAA,EAAIuB,OAAO,EAAE,yBAAyB,CAAC,IAAI,KAAK;IAEnED,KAAA,GAAAD,MAAA,CAAAP,IAAA,OAAMS,OAAO;IACb,IAAII,OAAO,EAAE;MACXX,OAAO,CAACc,GAAG,KAAAC,uBAAA,CAAA/B,OAAA,EAAAsB,KAAA,MAAAU,MAAA,CAAUL,OAAO,OAAAK,MAAA,CAAIH,UAAU,EAAG;IAC/C,CAAC,MAAM;MACLb,OAAO,CAACc,GAAG,KAAAC,uBAAA,CAAA/B,OAAA,EAAAsB,KAAA,GAAO,kBAAkB,CAAC,CAAC,CAAC;IACzC;IAAC,OAAAA,KAAA;EACH;;EAEA;AACF;AACA;EAFE,IAAAW,aAAA,CAAAjC,OAAA,EAAAkB,oBAAA;IAAAgB,GAAA;IAAAC,KAAA;IAOA;AACF;AACA;AACA;AACA;IACE,SAAAC,UAAUb,OAAO,EAAE;MACjB;MACA,IAAIc,iBAAS,EAAE;QACb,OAAOd,OAAO;MAChB;MAEAA,OAAO,CAACe,OAAO,GAAGf,OAAO,CAACe,OAAO,IAAI,CAAC,CAAC;MAEvC,IAAI,YAAY,IAAIf,OAAO,CAACe,OAAO,IAAIf,OAAO,CAACe,OAAO,CAAC,kBAAkB,CAAC,EAAE;QAC1E,OAAOf,OAAO;MAChB;MAEAA,OAAO,CAACe,OAAO,CAAC,YAAY,CAAC,GAAGtB,OAAO,CAACuB,GAAG,CAAC,IAAI,CAAC;MAEjD,OAAOhB,OAAO;IAChB;EAAC;IAAAW,GAAA;IAAAC,KAAA,EAxBD,SAAAK,OAAA,EAAgB;MACd,OAAO,IAAItB,oBAAoB,CAAC;QAACuB,KAAK,EAAE;MAAI,CAAC,CAAC;IAChD;EAAC;EAAA,OAAAvB,oBAAA;AAAA,EAxB+CwB,qBAAW;AAAAC,OAAA,CAAA3C,OAAA,GAAAkB,oBAAA"}
@@ -19,8 +19,8 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
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
20
  var sequenceNumbers = new _weakMap.default();
21
21
 
22
- /**
23
- * @class
22
+ /**
23
+ * @class
24
24
  */
25
25
  var WebexTrackingIdInterceptor = /*#__PURE__*/function (_Interceptor) {
26
26
  (0, _inherits2.default)(WebexTrackingIdInterceptor, _Interceptor);
@@ -32,9 +32,9 @@ var WebexTrackingIdInterceptor = /*#__PURE__*/function (_Interceptor) {
32
32
  (0, _createClass2.default)(WebexTrackingIdInterceptor, [{
33
33
  key: "sequence",
34
34
  get:
35
- /**
36
- * Sequence number; increments on access
37
- * @type {Number}
35
+ /**
36
+ * Sequence number; increments on access
37
+ * @type {Number}
38
38
  */
39
39
  function get() {
40
40
  var sq = sequenceNumbers.get(this) || 0;
@@ -43,16 +43,16 @@ var WebexTrackingIdInterceptor = /*#__PURE__*/function (_Interceptor) {
43
43
  return sq;
44
44
  }
45
45
 
46
- /**
47
- * @returns {WebexTrackingIdInterceptor}
46
+ /**
47
+ * @returns {WebexTrackingIdInterceptor}
48
48
  */
49
49
  }, {
50
50
  key: "onRequest",
51
51
  value:
52
- /**
53
- * @see Interceptor#onRequest
54
- * @param {Object} options
55
- * @returns {Object}
52
+ /**
53
+ * @see Interceptor#onRequest
54
+ * @param {Object} options
55
+ * @returns {Object}
56
56
  */
57
57
  function onRequest(options) {
58
58
  options.headers = options.headers || {};
@@ -76,10 +76,10 @@ var WebexTrackingIdInterceptor = /*#__PURE__*/function (_Interceptor) {
76
76
  return options;
77
77
  }
78
78
 
79
- /**
80
- * Determines whether or not include a tracking id
81
- * @param {Object} options
82
- * @returns {boolean}
79
+ /**
80
+ * Determines whether or not include a tracking id
81
+ * @param {Object} options
82
+ * @returns {boolean}
83
83
  */
84
84
  }, {
85
85
  key: "requiresTrackingId",
@@ -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","sequenceNumbers","_weakMap","WebexTrackingIdInterceptor","_Interceptor","_inherits2","_super","_classCallCheck2","_createClass2","key","get","sq","set","value","onRequest","options","headers","trackingid","_deleteProperty","requiresTrackingId","concat","webex","sessionId","sequence","replayCount","tid","split","join","create","Interceptor","exports"],"sources":["webex-tracking-id.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport {Interceptor} from '@webex/http-core';\n\nconst sequenceNumbers = new WeakMap();\n\n/**\n * @class\n */\nexport default class WebexTrackingIdInterceptor extends Interceptor {\n /**\n * Sequence number; increments on access\n * @type {Number}\n */\n get sequence() {\n let sq = sequenceNumbers.get(this) || 0;\n\n sq += 1;\n sequenceNumbers.set(this, sq);\n\n return sq;\n }\n\n /**\n * @returns {WebexTrackingIdInterceptor}\n */\n static create() {\n return new WebexTrackingIdInterceptor({webex: this});\n }\n\n /**\n * @see Interceptor#onRequest\n * @param {Object} options\n * @returns {Object}\n */\n onRequest(options) {\n options.headers = options.headers || {};\n // If trackingid is already set, don't overwrite it\n if ('trackingid' in options.headers) {\n // If trackingid is set to null, false, or undefined, delete it to\n // prevent a CORS preflight.\n if (!options.headers.trackingid) {\n Reflect.deleteProperty(options.headers, 'trackingid');\n }\n\n return options;\n }\n\n if (this.requiresTrackingId(options)) {\n options.headers.trackingid = `${this.webex.sessionId}_${this.sequence}`;\n }\n\n if (options.headers.trackingid && options.replayCount) {\n const tid = options.headers.trackingid.split('+');\n\n tid[1] = options.replayCount;\n options.headers.trackingid = tid.join('+');\n }\n\n return options;\n }\n\n /**\n * Determines whether or not include a tracking id\n * @param {Object} options\n * @returns {boolean}\n */\n requiresTrackingId(options) {\n return !options.headers.trackingid;\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","sequenceNumbers","_weakMap","WebexTrackingIdInterceptor","_Interceptor","_inherits2","_super","_classCallCheck2","_createClass2","key","get","sq","set","value","onRequest","options","headers","trackingid","_deleteProperty","requiresTrackingId","concat","webex","sessionId","sequence","replayCount","tid","split","join","create","Interceptor","exports"],"sources":["webex-tracking-id.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\nconst sequenceNumbers = new WeakMap();\r\n\r\n/**\r\n * @class\r\n */\r\nexport default class WebexTrackingIdInterceptor extends Interceptor {\r\n /**\r\n * Sequence number; increments on access\r\n * @type {Number}\r\n */\r\n get sequence() {\r\n let sq = sequenceNumbers.get(this) || 0;\r\n\r\n sq += 1;\r\n sequenceNumbers.set(this, sq);\r\n\r\n return sq;\r\n }\r\n\r\n /**\r\n * @returns {WebexTrackingIdInterceptor}\r\n */\r\n static create() {\r\n return new WebexTrackingIdInterceptor({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 options.headers = options.headers || {};\r\n // If trackingid is already set, don't overwrite it\r\n if ('trackingid' in options.headers) {\r\n // If trackingid is set to null, false, or undefined, delete it to\r\n // prevent a CORS preflight.\r\n if (!options.headers.trackingid) {\r\n Reflect.deleteProperty(options.headers, 'trackingid');\r\n }\r\n\r\n return options;\r\n }\r\n\r\n if (this.requiresTrackingId(options)) {\r\n options.headers.trackingid = `${this.webex.sessionId}_${this.sequence}`;\r\n }\r\n\r\n if (options.headers.trackingid && options.replayCount) {\r\n const tid = options.headers.trackingid.split('+');\r\n\r\n tid[1] = options.replayCount;\r\n options.headers.trackingid = tid.join('+');\r\n }\r\n\r\n return options;\r\n }\r\n\r\n /**\r\n * Determines whether or not include a tracking id\r\n * @param {Object} options\r\n * @returns {boolean}\r\n */\r\n requiresTrackingId(options) {\r\n return !options.headers.trackingid;\r\n }\r\n}\r\n"],"mappings":"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"}
@@ -22,17 +22,17 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
22
22
  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; } }
23
23
  var strings = new _weakMap.default();
24
24
 
25
- /**
26
- * @class
25
+ /**
26
+ * @class
27
27
  */
28
28
  var WebexUserAgentInterceptor = /*#__PURE__*/function (_Interceptor) {
29
29
  (0, _inherits2.default)(WebexUserAgentInterceptor, _Interceptor);
30
30
  var _super = _createSuper(WebexUserAgentInterceptor);
31
- /**
32
- * @param {Object} [options={}]
33
- * @param {WebexCore} [options.webex]
34
- * @private
35
- * @returns {WebexUserAgentInterceptor}
31
+ /**
32
+ * @param {Object} [options={}]
33
+ * @param {WebexCore} [options.webex]
34
+ * @private
35
+ * @returns {WebexUserAgentInterceptor}
36
36
  */
37
37
  function WebexUserAgentInterceptor() {
38
38
  var _this;
@@ -45,16 +45,16 @@ var WebexUserAgentInterceptor = /*#__PURE__*/function (_Interceptor) {
45
45
  return _this;
46
46
  }
47
47
 
48
- /**
49
- * @returns {WebexUserAgentInterceptor}
48
+ /**
49
+ * @returns {WebexUserAgentInterceptor}
50
50
  */
51
51
  (0, _createClass2.default)(WebexUserAgentInterceptor, [{
52
52
  key: "onRequest",
53
53
  value:
54
- /**
55
- * @see Interceptor#onRequest
56
- * @param {Object} options
57
- * @returns {Object}
54
+ /**
55
+ * @see Interceptor#onRequest
56
+ * @param {Object} options
57
+ * @returns {Object}
58
58
  */
59
59
  function onRequest(options) {
60
60
  var _this$webex$config, _this$webex;
@@ -1 +1 @@
1
- {"version":3,"names":["_common","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","strings","_weakMap","WebexUserAgentInterceptor","_Interceptor","_inherits2","_super","_this","options","length","undefined","_classCallCheck2","libName","_get2","libVersion","set","_assertThisInitialized2","concat","inBrowser","_createClass2","key","value","onRequest","_this$webex$config","_this$webex","headers","_ref","webex","config","appName","appVersion","appPlatform","sparkUserAgent","get","uri","includes","credentials","samlUrl","tokenUrl","authorizeUrl","_deleteProperty","create","Interceptor","exports"],"sources":["webex-user-agent.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 * @class\n */\nexport default class WebexUserAgentInterceptor extends Interceptor {\n /**\n * @param {Object} [options={}]\n * @param {WebexCore} [options.webex]\n * @private\n * @returns {WebexUserAgentInterceptor}\n */\n constructor(options = {}) {\n const libName = get(options, 'webex.webex', false) ? 'webex' : 'webex-js-sdk';\n const libVersion = get(options, 'webex.version', 'development');\n\n super(options);\n strings.set(this, `${libName}/${libVersion} (${inBrowser ? 'web' : 'node'})`);\n }\n\n /**\n * @returns {WebexUserAgentInterceptor}\n */\n static create() {\n return new WebexUserAgentInterceptor({webex: this});\n }\n\n /**\n * @see Interceptor#onRequest\n * @param {Object} options\n * @returns {Object}\n */\n onRequest(options) {\n options.headers = options.headers || {};\n const {appName, appVersion, appPlatform} = this.webex?.config ?? {};\n let sparkUserAgent = `${strings.get(this)}`;\n\n if (appName) {\n sparkUserAgent += ` ${appName}/${appVersion ?? '0.0'}`;\n }\n\n if (appPlatform) {\n sparkUserAgent += ` ${appPlatform}`;\n }\n\n if (options.uri && options.uri.includes('https://idbroker')) {\n return options;\n }\n\n if (\n options.uri &&\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 if ('spark-user-agent' in options.headers) {\n if (!options.headers['spark-user-agent']) {\n Reflect.deleteProperty(options.headers, 'spark-user-agent');\n }\n\n return options;\n }\n\n options.headers['spark-user-agent'] = sparkUserAgent;\n\n return options;\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_common","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","strings","_weakMap","WebexUserAgentInterceptor","_Interceptor","_inherits2","_super","_this","options","length","undefined","_classCallCheck2","libName","_get2","libVersion","set","_assertThisInitialized2","concat","inBrowser","_createClass2","key","value","onRequest","_this$webex$config","_this$webex","headers","_ref","webex","config","appName","appVersion","appPlatform","sparkUserAgent","get","uri","includes","credentials","samlUrl","tokenUrl","authorizeUrl","_deleteProperty","create","Interceptor","exports"],"sources":["webex-user-agent.js"],"sourcesContent":["/*!\r\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\r\n */\r\n\r\nimport {inBrowser} from '@webex/common';\r\nimport {Interceptor} from '@webex/http-core';\r\nimport {get} from 'lodash';\r\n\r\nconst strings = new WeakMap();\r\n\r\n/**\r\n * @class\r\n */\r\nexport default class WebexUserAgentInterceptor extends Interceptor {\r\n /**\r\n * @param {Object} [options={}]\r\n * @param {WebexCore} [options.webex]\r\n * @private\r\n * @returns {WebexUserAgentInterceptor}\r\n */\r\n constructor(options = {}) {\r\n const libName = get(options, 'webex.webex', false) ? 'webex' : 'webex-js-sdk';\r\n const libVersion = get(options, 'webex.version', 'development');\r\n\r\n super(options);\r\n strings.set(this, `${libName}/${libVersion} (${inBrowser ? 'web' : 'node'})`);\r\n }\r\n\r\n /**\r\n * @returns {WebexUserAgentInterceptor}\r\n */\r\n static create() {\r\n return new WebexUserAgentInterceptor({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 options.headers = options.headers || {};\r\n const {appName, appVersion, appPlatform} = this.webex?.config ?? {};\r\n let sparkUserAgent = `${strings.get(this)}`;\r\n\r\n if (appName) {\r\n sparkUserAgent += ` ${appName}/${appVersion ?? '0.0'}`;\r\n }\r\n\r\n if (appPlatform) {\r\n sparkUserAgent += ` ${appPlatform}`;\r\n }\r\n\r\n if (options.uri && options.uri.includes('https://idbroker')) {\r\n return options;\r\n }\r\n\r\n if (\r\n options.uri &&\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 if ('spark-user-agent' in options.headers) {\r\n if (!options.headers['spark-user-agent']) {\r\n Reflect.deleteProperty(options.headers, 'spark-user-agent');\r\n }\r\n\r\n return options;\r\n }\r\n\r\n options.headers['spark-user-agent'] = sparkUserAgent;\r\n\r\n return options;\r\n }\r\n}\r\n"],"mappings":"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"}