@webex/webex-core 3.0.0-bnr.4 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (187) hide show
  1. package/.eslintrc.js +6 -0
  2. package/babel.config.js +3 -0
  3. package/dist/config.js +1 -2
  4. package/dist/config.js.map +1 -1
  5. package/dist/credentials-config.js +1 -2
  6. package/dist/credentials-config.js.map +1 -1
  7. package/dist/index.js +2 -2
  8. package/dist/index.js.map +1 -1
  9. package/dist/interceptors/auth.js +4 -3
  10. package/dist/interceptors/auth.js.map +1 -1
  11. package/dist/interceptors/default-options.js +4 -3
  12. package/dist/interceptors/default-options.js.map +1 -1
  13. package/dist/interceptors/embargo.js +4 -3
  14. package/dist/interceptors/embargo.js.map +1 -1
  15. package/dist/interceptors/network-timing.js +4 -3
  16. package/dist/interceptors/network-timing.js.map +1 -1
  17. package/dist/interceptors/payload-transformer.js +4 -3
  18. package/dist/interceptors/payload-transformer.js.map +1 -1
  19. package/dist/interceptors/rate-limit.js +4 -3
  20. package/dist/interceptors/rate-limit.js.map +1 -1
  21. package/dist/interceptors/redirect.js +7 -6
  22. package/dist/interceptors/redirect.js.map +1 -1
  23. package/dist/interceptors/request-event.js +9 -8
  24. package/dist/interceptors/request-event.js.map +1 -1
  25. package/dist/interceptors/request-logger.js +12 -15
  26. package/dist/interceptors/request-logger.js.map +1 -1
  27. package/dist/interceptors/request-timing.js +4 -3
  28. package/dist/interceptors/request-timing.js.map +1 -1
  29. package/dist/interceptors/response-logger.js +10 -10
  30. package/dist/interceptors/response-logger.js.map +1 -1
  31. package/dist/interceptors/user-agent.js +8 -7
  32. package/dist/interceptors/user-agent.js.map +1 -1
  33. package/dist/interceptors/webex-tracking-id.js +4 -3
  34. package/dist/interceptors/webex-tracking-id.js.map +1 -1
  35. package/dist/interceptors/webex-user-agent.js +9 -8
  36. package/dist/interceptors/webex-user-agent.js.map +1 -1
  37. package/dist/lib/batcher.js +8 -5
  38. package/dist/lib/batcher.js.map +1 -1
  39. package/dist/lib/constants.js +13 -0
  40. package/dist/lib/constants.js.map +1 -0
  41. package/dist/lib/credentials/credentials.js +73 -35
  42. package/dist/lib/credentials/credentials.js.map +1 -1
  43. package/dist/lib/credentials/grant-errors.js +5 -5
  44. package/dist/lib/credentials/grant-errors.js.map +1 -1
  45. package/dist/lib/credentials/index.js.map +1 -1
  46. package/dist/lib/credentials/scope.js +26 -5
  47. package/dist/lib/credentials/scope.js.map +1 -1
  48. package/dist/lib/credentials/token-collection.js +1 -2
  49. package/dist/lib/credentials/token-collection.js.map +1 -1
  50. package/dist/lib/credentials/token.js +14 -10
  51. package/dist/lib/credentials/token.js.map +1 -1
  52. package/dist/lib/page.js +1 -2
  53. package/dist/lib/page.js.map +1 -1
  54. package/dist/lib/services/constants.js +3 -6
  55. package/dist/lib/services/constants.js.map +1 -1
  56. package/dist/lib/services/index.js +2 -2
  57. package/dist/lib/services/index.js.map +1 -1
  58. package/dist/lib/services/interceptors/server-error.js +6 -5
  59. package/dist/lib/services/interceptors/server-error.js.map +1 -1
  60. package/dist/lib/services/interceptors/service.js +8 -5
  61. package/dist/lib/services/interceptors/service.js.map +1 -1
  62. package/dist/lib/services/metrics.js +1 -2
  63. package/dist/lib/services/metrics.js.map +1 -1
  64. package/dist/lib/services/service-catalog.js +5 -5
  65. package/dist/lib/services/service-catalog.js.map +1 -1
  66. package/dist/lib/services/service-fed-ramp.js +1 -2
  67. package/dist/lib/services/service-fed-ramp.js.map +1 -1
  68. package/dist/lib/services/service-host.js +1 -2
  69. package/dist/lib/services/service-host.js.map +1 -1
  70. package/dist/lib/services/service-registry.js +3 -4
  71. package/dist/lib/services/service-registry.js.map +1 -1
  72. package/dist/lib/services/service-state.js +1 -2
  73. package/dist/lib/services/service-state.js.map +1 -1
  74. package/dist/lib/services/service-url.js +1 -2
  75. package/dist/lib/services/service-url.js.map +1 -1
  76. package/dist/lib/services/services.js +56 -13
  77. package/dist/lib/services/services.js.map +1 -1
  78. package/dist/lib/stateless-webex-plugin.js +1 -2
  79. package/dist/lib/stateless-webex-plugin.js.map +1 -1
  80. package/dist/lib/storage/decorators.js +18 -16
  81. package/dist/lib/storage/decorators.js.map +1 -1
  82. package/dist/lib/storage/errors.js +5 -5
  83. package/dist/lib/storage/errors.js.map +1 -1
  84. package/dist/lib/storage/index.js.map +1 -1
  85. package/dist/lib/storage/make-webex-plugin-store.js +8 -10
  86. package/dist/lib/storage/make-webex-plugin-store.js.map +1 -1
  87. package/dist/lib/storage/make-webex-store.js.map +1 -1
  88. package/dist/lib/storage/memory-store-adapter.js +1 -2
  89. package/dist/lib/storage/memory-store-adapter.js.map +1 -1
  90. package/dist/lib/webex-core-plugin-mixin.js +13 -14
  91. package/dist/lib/webex-core-plugin-mixin.js.map +1 -1
  92. package/dist/lib/webex-http-error.js +4 -3
  93. package/dist/lib/webex-http-error.js.map +1 -1
  94. package/dist/lib/webex-internal-core-plugin-mixin.js +13 -14
  95. package/dist/lib/webex-internal-core-plugin-mixin.js.map +1 -1
  96. package/dist/lib/webex-plugin.js +5 -8
  97. package/dist/lib/webex-plugin.js.map +1 -1
  98. package/dist/plugins/logger.js +2 -3
  99. package/dist/plugins/logger.js.map +1 -1
  100. package/dist/webex-core.js +37 -38
  101. package/dist/webex-core.js.map +1 -1
  102. package/dist/webex-internal-core.js +1 -2
  103. package/dist/webex-internal-core.js.map +1 -1
  104. package/jest.config.js +3 -0
  105. package/package.json +33 -17
  106. package/process +1 -0
  107. package/src/lib/constants.js +6 -0
  108. package/src/lib/credentials/credentials.js +82 -40
  109. package/src/lib/credentials/scope.js +24 -5
  110. package/src/lib/credentials/token.js +9 -1
  111. package/src/lib/services/interceptors/server-error.js +1 -1
  112. package/src/lib/services/interceptors/service.js +2 -2
  113. package/src/lib/services/service-catalog.js +3 -1
  114. package/src/lib/services/services.js +46 -0
  115. package/src/webex-core.js +13 -1
  116. package/test/integration/spec/credentials/credentials.js +6 -3
  117. package/test/integration/spec/unit-browser/auth.js +93 -0
  118. package/test/integration/spec/unit-browser/token.js +122 -0
  119. package/test/unit/spec/_setup.js +6 -0
  120. package/test/unit/spec/credentials/credentials.js +181 -24
  121. package/test/unit/spec/credentials/scope.js +80 -0
  122. package/test/unit/spec/credentials/token.js +11 -1
  123. package/test/unit/spec/interceptors/auth.js +4 -1
  124. package/test/unit/spec/interceptors/embargo.js +8 -8
  125. package/test/unit/spec/interceptors/webex-user-agent.js +6 -6
  126. package/test/unit/spec/lib/page.js +3 -3
  127. package/test/unit/spec/services/interceptors/server-error.js +5 -5
  128. package/test/unit/spec/services/interceptors/service.js +21 -14
  129. package/test/unit/spec/services/service-catalog.js +24 -12
  130. package/test/unit/spec/services/service-host.js +3 -3
  131. package/test/unit/spec/services/service-registry.js +34 -44
  132. package/test/unit/spec/services/service-state.js +1 -1
  133. package/test/unit/spec/services/service-url.js +2 -2
  134. package/test/unit/spec/services/services.js +10 -4
  135. package/test/unit/spec/webex-core.js +12 -2
  136. package/test/unit/spec/webex-internal-core.js +0 -10
  137. package/dist/types/config.d.ts +0 -39
  138. package/dist/types/credentials-config.d.ts +0 -2
  139. package/dist/types/index.d.ts +0 -24
  140. package/dist/types/interceptors/auth.d.ts +0 -43
  141. package/dist/types/interceptors/default-options.d.ts +0 -31
  142. package/dist/types/interceptors/embargo.d.ts +0 -16
  143. package/dist/types/interceptors/network-timing.d.ts +0 -30
  144. package/dist/types/interceptors/payload-transformer.d.ts +0 -30
  145. package/dist/types/interceptors/rate-limit.d.ts +0 -61
  146. package/dist/types/interceptors/redirect.d.ts +0 -22
  147. package/dist/types/interceptors/request-event.d.ts +0 -36
  148. package/dist/types/interceptors/request-logger.d.ts +0 -22
  149. package/dist/types/interceptors/request-timing.d.ts +0 -36
  150. package/dist/types/interceptors/response-logger.d.ts +0 -30
  151. package/dist/types/interceptors/user-agent.d.ts +0 -38
  152. package/dist/types/interceptors/webex-tracking-id.d.ts +0 -26
  153. package/dist/types/interceptors/webex-user-agent.d.ts +0 -22
  154. package/dist/types/lib/batcher.d.ts +0 -6
  155. package/dist/types/lib/credentials/credentials.d.ts +0 -5
  156. package/dist/types/lib/credentials/grant-errors.d.ts +0 -57
  157. package/dist/types/lib/credentials/index.d.ts +0 -4
  158. package/dist/types/lib/credentials/scope.d.ts +0 -16
  159. package/dist/types/lib/credentials/token-collection.d.ts +0 -2
  160. package/dist/types/lib/credentials/token.d.ts +0 -5
  161. package/dist/types/lib/page.d.ts +0 -76
  162. package/dist/types/lib/services/constants.d.ts +0 -6
  163. package/dist/types/lib/services/index.d.ts +0 -10
  164. package/dist/types/lib/services/interceptors/server-error.d.ts +0 -16
  165. package/dist/types/lib/services/interceptors/service.d.ts +0 -37
  166. package/dist/types/lib/services/metrics.d.ts +0 -4
  167. package/dist/types/lib/services/service-catalog.d.ts +0 -5
  168. package/dist/types/lib/services/service-fed-ramp.d.ts +0 -5
  169. package/dist/types/lib/services/service-host.d.ts +0 -217
  170. package/dist/types/lib/services/service-registry.d.ts +0 -271
  171. package/dist/types/lib/services/service-state.d.ts +0 -46
  172. package/dist/types/lib/services/service-url.d.ts +0 -5
  173. package/dist/types/lib/services/services.d.ts +0 -5
  174. package/dist/types/lib/stateless-webex-plugin.d.ts +0 -48
  175. package/dist/types/lib/storage/decorators.d.ts +0 -15
  176. package/dist/types/lib/storage/errors.d.ts +0 -10
  177. package/dist/types/lib/storage/index.d.ts +0 -5
  178. package/dist/types/lib/storage/make-webex-plugin-store.d.ts +0 -8
  179. package/dist/types/lib/storage/make-webex-store.d.ts +0 -48
  180. package/dist/types/lib/storage/memory-store-adapter.d.ts +0 -18
  181. package/dist/types/lib/webex-core-plugin-mixin.d.ts +0 -8
  182. package/dist/types/lib/webex-http-error.d.ts +0 -12
  183. package/dist/types/lib/webex-internal-core-plugin-mixin.d.ts +0 -8
  184. package/dist/types/lib/webex-plugin.d.ts +0 -5
  185. package/dist/types/plugins/logger.d.ts +0 -2
  186. package/dist/types/webex-core.d.ts +0 -31
  187. package/dist/types/webex-internal-core.d.ts +0 -7
package/.eslintrc.js ADDED
@@ -0,0 +1,6 @@
1
+ const config = {
2
+ root: true,
3
+ extends: ['@webex/eslint-config-legacy'],
4
+ };
5
+
6
+ module.exports = config;
@@ -0,0 +1,3 @@
1
+ const babelConfigLegacy = require('@webex/babel-config-legacy');
2
+
3
+ module.exports = babelConfigLegacy;
package/dist/config.js CHANGED
@@ -12,7 +12,7 @@ var _credentialsConfig = _interopRequireDefault(require("./credentials-config"))
12
12
  * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
13
13
  */
14
14
  /* eslint camelcase: [0] */
15
- var _default = {
15
+ var _default = exports.default = {
16
16
  maxAppLevelRedirects: 10,
17
17
  maxLocusRedirects: 5,
18
18
  maxAuthenticationReplays: 1,
@@ -80,5 +80,4 @@ var _default = {
80
80
  unboundedAdapter: _storage.MemoryStoreAdapter
81
81
  }
82
82
  };
83
- exports.default = _default;
84
83
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["maxAppLevelRedirects","maxLocusRedirects","maxAuthenticationReplays","maxReconnectAttempts","onBeforeLogout","trackingIdPrefix","trackingIdSuffix","AlternateLogger","undefined","credentials","CredentialsConfig","fedramp","process","env","ENABLE_FEDRAMP","services","discovery","hydra","HYDRA_SERVICE_URL","u2c","U2C_SERVICE_URL","validateDomains","servicesNotNeedValidation","allowedDomains","device","preDiscoveryServices","hydraServiceUrl","metrics","type","payloadTransformer","predicates","transforms","storage","boundedAdapter","MemoryStoreAdapter","unboundedAdapter"],"sources":["config.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\n/* eslint camelcase: [0] */\n\nimport {MemoryStoreAdapter} from './lib/storage';\nimport CredentialsConfig from './credentials-config';\n\nexport default {\n maxAppLevelRedirects: 10,\n maxLocusRedirects: 5,\n maxAuthenticationReplays: 1,\n maxReconnectAttempts: 1,\n onBeforeLogout: [],\n trackingIdPrefix: 'webex-js-sdk',\n trackingIdSuffix: '',\n AlternateLogger: undefined,\n credentials: new CredentialsConfig(),\n fedramp: process.env.ENABLE_FEDRAMP || false,\n services: {\n /**\n * A list of services that are available prior to catalog collection.\n *\n * @type {Object}\n */\n discovery: {\n /**\n * The hydra discovery url.\n *\n * @type {string}\n */\n hydra: process.env.HYDRA_SERVICE_URL || 'https://api.ciscospark.com/v1',\n\n /**\n * The u2c discovery url\n *\n * @type {string}\n */\n u2c: process.env.U2C_SERVICE_URL || 'https://u2c.wbx2.com/u2c/api/v1',\n },\n\n /**\n * When true, considers all urls in `allowedDomains` as safe for auth tokens\n *\n * @type {boolean}\n */\n validateDomains: true,\n\n /**\n * services that don't need auth validation\n */\n\n servicesNotNeedValidation: ['webex-appapi-service'],\n\n /**\n * Contains a list of allowed domain host addresses.\n *\n * @type {Array<string>}\n */\n allowedDomains: [\n 'wbx2.com',\n 'ciscospark.com',\n 'webex.com',\n 'webexapis.com',\n 'broadcloudpbx.com',\n 'broadcloud.eu',\n 'broadcloud.com.au',\n 'broadcloudpbx.net',\n ],\n },\n device: {\n preDiscoveryServices: {\n hydra: process.env.HYDRA_SERVICE_URL || 'https://api.ciscospark.com/v1',\n hydraServiceUrl: process.env.HYDRA_SERVICE_URL || 'https://api.ciscospark.com/v1',\n },\n validateDomains: true,\n },\n metrics: {\n type: ['behavioral', 'operational'],\n },\n payloadTransformer: {\n predicates: [],\n transforms: [],\n },\n storage: {\n boundedAdapter: MemoryStoreAdapter,\n unboundedAdapter: MemoryStoreAdapter,\n },\n};\n"],"mappings":";;;;;;;;AAMA;AACA;AAPA;AACA;AACA;AAEA;AAAA,eAKe;EACbA,oBAAoB,EAAE,EAAE;EACxBC,iBAAiB,EAAE,CAAC;EACpBC,wBAAwB,EAAE,CAAC;EAC3BC,oBAAoB,EAAE,CAAC;EACvBC,cAAc,EAAE,EAAE;EAClBC,gBAAgB,EAAE,cAAc;EAChCC,gBAAgB,EAAE,EAAE;EACpBC,eAAe,EAAEC,SAAS;EAC1BC,WAAW,EAAE,IAAIC,0BAAiB,EAAE;EACpCC,OAAO,EAAEC,OAAO,CAACC,GAAG,CAACC,cAAc,IAAI,KAAK;EAC5CC,QAAQ,EAAE;IACR;AACJ;AACA;AACA;AACA;IACIC,SAAS,EAAE;MACT;AACN;AACA;AACA;AACA;MACMC,KAAK,EAAEL,OAAO,CAACC,GAAG,CAACK,iBAAiB,IAAI,+BAA+B;MAEvE;AACN;AACA;AACA;AACA;MACMC,GAAG,EAAEP,OAAO,CAACC,GAAG,CAACO,eAAe,IAAI;IACtC,CAAC;IAED;AACJ;AACA;AACA;AACA;IACIC,eAAe,EAAE,IAAI;IAErB;AACJ;AACA;;IAEIC,yBAAyB,EAAE,CAAC,sBAAsB,CAAC;IAEnD;AACJ;AACA;AACA;AACA;IACIC,cAAc,EAAE,CACd,UAAU,EACV,gBAAgB,EAChB,WAAW,EACX,eAAe,EACf,mBAAmB,EACnB,eAAe,EACf,mBAAmB,EACnB,mBAAmB;EAEvB,CAAC;EACDC,MAAM,EAAE;IACNC,oBAAoB,EAAE;MACpBR,KAAK,EAAEL,OAAO,CAACC,GAAG,CAACK,iBAAiB,IAAI,+BAA+B;MACvEQ,eAAe,EAAEd,OAAO,CAACC,GAAG,CAACK,iBAAiB,IAAI;IACpD,CAAC;IACDG,eAAe,EAAE;EACnB,CAAC;EACDM,OAAO,EAAE;IACPC,IAAI,EAAE,CAAC,YAAY,EAAE,aAAa;EACpC,CAAC;EACDC,kBAAkB,EAAE;IAClBC,UAAU,EAAE,EAAE;IACdC,UAAU,EAAE;EACd,CAAC;EACDC,OAAO,EAAE;IACPC,cAAc,EAAEC,2BAAkB;IAClCC,gBAAgB,EAAED;EACpB;AACF,CAAC;AAAA"}
1
+ {"version":3,"names":["_storage","require","_credentialsConfig","_interopRequireDefault","_default","exports","default","maxAppLevelRedirects","maxLocusRedirects","maxAuthenticationReplays","maxReconnectAttempts","onBeforeLogout","trackingIdPrefix","trackingIdSuffix","AlternateLogger","undefined","credentials","CredentialsConfig","fedramp","process","env","ENABLE_FEDRAMP","services","discovery","hydra","HYDRA_SERVICE_URL","u2c","U2C_SERVICE_URL","validateDomains","servicesNotNeedValidation","allowedDomains","device","preDiscoveryServices","hydraServiceUrl","metrics","type","payloadTransformer","predicates","transforms","storage","boundedAdapter","MemoryStoreAdapter","unboundedAdapter"],"sources":["config.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\n/* eslint camelcase: [0] */\n\nimport {MemoryStoreAdapter} from './lib/storage';\nimport CredentialsConfig from './credentials-config';\n\nexport default {\n maxAppLevelRedirects: 10,\n maxLocusRedirects: 5,\n maxAuthenticationReplays: 1,\n maxReconnectAttempts: 1,\n onBeforeLogout: [],\n trackingIdPrefix: 'webex-js-sdk',\n trackingIdSuffix: '',\n AlternateLogger: undefined,\n credentials: new CredentialsConfig(),\n fedramp: process.env.ENABLE_FEDRAMP || false,\n services: {\n /**\n * A list of services that are available prior to catalog collection.\n *\n * @type {Object}\n */\n discovery: {\n /**\n * The hydra discovery url.\n *\n * @type {string}\n */\n hydra: process.env.HYDRA_SERVICE_URL || 'https://api.ciscospark.com/v1',\n\n /**\n * The u2c discovery url\n *\n * @type {string}\n */\n u2c: process.env.U2C_SERVICE_URL || 'https://u2c.wbx2.com/u2c/api/v1',\n },\n\n /**\n * When true, considers all urls in `allowedDomains` as safe for auth tokens\n *\n * @type {boolean}\n */\n validateDomains: true,\n\n /**\n * services that don't need auth validation\n */\n\n servicesNotNeedValidation: ['webex-appapi-service'],\n\n /**\n * Contains a list of allowed domain host addresses.\n *\n * @type {Array<string>}\n */\n allowedDomains: [\n 'wbx2.com',\n 'ciscospark.com',\n 'webex.com',\n 'webexapis.com',\n 'broadcloudpbx.com',\n 'broadcloud.eu',\n 'broadcloud.com.au',\n 'broadcloudpbx.net',\n ],\n },\n device: {\n preDiscoveryServices: {\n hydra: process.env.HYDRA_SERVICE_URL || 'https://api.ciscospark.com/v1',\n hydraServiceUrl: process.env.HYDRA_SERVICE_URL || 'https://api.ciscospark.com/v1',\n },\n validateDomains: true,\n },\n metrics: {\n type: ['behavioral', 'operational'],\n },\n payloadTransformer: {\n predicates: [],\n transforms: [],\n },\n storage: {\n boundedAdapter: MemoryStoreAdapter,\n unboundedAdapter: MemoryStoreAdapter,\n },\n};\n"],"mappings":";;;;;;;;AAMA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,kBAAA,GAAAC,sBAAA,CAAAF,OAAA;AAPA;AACA;AACA;AAEA;AAAA,IAAAG,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAKe;EACbC,oBAAoB,EAAE,EAAE;EACxBC,iBAAiB,EAAE,CAAC;EACpBC,wBAAwB,EAAE,CAAC;EAC3BC,oBAAoB,EAAE,CAAC;EACvBC,cAAc,EAAE,EAAE;EAClBC,gBAAgB,EAAE,cAAc;EAChCC,gBAAgB,EAAE,EAAE;EACpBC,eAAe,EAAEC,SAAS;EAC1BC,WAAW,EAAE,IAAIC,0BAAiB,CAAC,CAAC;EACpCC,OAAO,EAAEC,OAAO,CAACC,GAAG,CAACC,cAAc,IAAI,KAAK;EAC5CC,QAAQ,EAAE;IACR;AACJ;AACA;AACA;AACA;IACIC,SAAS,EAAE;MACT;AACN;AACA;AACA;AACA;MACMC,KAAK,EAAEL,OAAO,CAACC,GAAG,CAACK,iBAAiB,IAAI,+BAA+B;MAEvE;AACN;AACA;AACA;AACA;MACMC,GAAG,EAAEP,OAAO,CAACC,GAAG,CAACO,eAAe,IAAI;IACtC,CAAC;IAED;AACJ;AACA;AACA;AACA;IACIC,eAAe,EAAE,IAAI;IAErB;AACJ;AACA;;IAEIC,yBAAyB,EAAE,CAAC,sBAAsB,CAAC;IAEnD;AACJ;AACA;AACA;AACA;IACIC,cAAc,EAAE,CACd,UAAU,EACV,gBAAgB,EAChB,WAAW,EACX,eAAe,EACf,mBAAmB,EACnB,eAAe,EACf,mBAAmB,EACnB,mBAAmB;EAEvB,CAAC;EACDC,MAAM,EAAE;IACNC,oBAAoB,EAAE;MACpBR,KAAK,EAAEL,OAAO,CAACC,GAAG,CAACK,iBAAiB,IAAI,+BAA+B;MACvEQ,eAAe,EAAEd,OAAO,CAACC,GAAG,CAACK,iBAAiB,IAAI;IACpD,CAAC;IACDG,eAAe,EAAE;EACnB,CAAC;EACDM,OAAO,EAAE;IACPC,IAAI,EAAE,CAAC,YAAY,EAAE,aAAa;EACpC,CAAC;EACDC,kBAAkB,EAAE;IAClBC,UAAU,EAAE,EAAE;IACdC,UAAU,EAAE;EACd,CAAC;EACDC,OAAO,EAAE;IACPC,cAAc,EAAEC,2BAAkB;IAClCC,gBAAgB,EAAED;EACpB;AACF,CAAC"}
@@ -157,6 +157,5 @@ var CredentialsConfig = _ampersandState.default.extend({
157
157
  }
158
158
  }
159
159
  });
160
- var _default = CredentialsConfig;
161
- exports.default = _default;
160
+ var _default = exports.default = CredentialsConfig;
162
161
  //# sourceMappingURL=credentials-config.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["CredentialsConfig","AmpState","extend","extraProperties","props","idbroker","url","process","env","IDBROKER_BASE_URL","identity","IDENTITY_BASE_URL","authorizationString","WEBEX_AUTHORIZATION_STRING","AUTHORIZATION_STRING","authorizeUrl","WEBEX_AUTHORIZE_URL","client_id","WEBEX_CLIENT_ID","COMMON_IDENTITY_CLIENT_ID","CLIENT_ID","client_secret","WEBEX_CLIENT_SECRET","COMMON_IDENTITY_CLIENT_SECRET","CLIENT_SECRET","redirect_uri","WEBEX_REDIRECT_URI","COMMON_IDENTITY_REDIRECT_URI","REDIRECT_URI","scope","WEBEX_SCOPE","WEBEX_SCOPES","COMMON_IDENTITY_SCOPE","SCOPE","cisService","derived","activationUrl","deps","fn","cache","generateOtpUrl","validateOtpUrl","tokenUrl","TOKEN_URL","revokeUrl","REVOKE_URL","logoutUrl","setPasswordUrl"],"sources":["credentials-config.js"],"sourcesContent":["import AmpState from 'ampersand-state';\n\n// The credentials config which includes the CI server info and derived\n// URL properties from them for the various CI services. The URL's\n// will be updated when the CI changes.\nconst CredentialsConfig = AmpState.extend({\n // we need to allow extra props for dynamic props like jwtRefreshCallback\n extraProperties: 'allow',\n\n props: {\n /**\n * The idbroker base host name\n * @returns {object}\n */\n idbroker: [\n 'object',\n false,\n () => ({\n url: process.env.IDBROKER_BASE_URL || 'https://idbroker.webex.com',\n }),\n ],\n\n /**\n * The identity base host name\n * @returns {object}\n */\n identity: [\n 'object',\n false,\n () => ({\n url: process.env.IDENTITY_BASE_URL || 'https://identity.webex.com',\n }),\n ],\n\n /**\n * This is the authorization url displayed on the\n * {@link developer portal|https://developer.webex.com}\n * @type {string}\n */\n authorizationString: [\n 'string',\n false,\n process.env.WEBEX_AUTHORIZATION_STRING || process.env.AUTHORIZATION_STRING,\n ],\n\n /**\n * Authorization URL which prompts for user's password. Inferred from\n * {@link config.credentials.authorizationString}. This config value will\n * be automatically set if `authorizationString` config value is specified.\n *\n * @type {string}\n */\n authorizeUrl: [\n 'string',\n false,\n process.env.WEBEX_AUTHORIZE_URL ||\n `${process.env.IDBROKER_BASE_URL || 'https://idbroker.webex.com'}/idb/oauth2/v1/authorize`,\n ],\n\n /**\n * {@see https://tools.ietf.org/html/rfc6749#section-4.1.4}\n * @type {string}\n */\n client_id: [\n 'string',\n false,\n process.env.WEBEX_CLIENT_ID || process.env.COMMON_IDENTITY_CLIENT_ID || process.env.CLIENT_ID,\n ],\n\n /**\n * {@see https://tools.ietf.org/html/rfc6749#section-4.1.4}\n * @type {string}\n */\n client_secret: [\n 'string',\n false,\n process.env.WEBEX_CLIENT_SECRET ||\n process.env.COMMON_IDENTITY_CLIENT_SECRET ||\n process.env.CLIENT_SECRET,\n ],\n\n /**\n * {@see https://tools.ietf.org/html/rfc6749#section-4.1.4}\n * @type {string}\n */\n redirect_uri: [\n 'string',\n false,\n process.env.WEBEX_REDIRECT_URI ||\n process.env.COMMON_IDENTITY_REDIRECT_URI ||\n process.env.REDIRECT_URI,\n ],\n\n /**\n * {@see https://tools.ietf.org/html/rfc6749#section-4.1.4}\n * @type {string}\n */\n scope: [\n 'string',\n false,\n process.env.WEBEX_SCOPE ||\n process.env.WEBEX_SCOPES ||\n process.env.COMMON_IDENTITY_SCOPE ||\n process.env.SCOPE,\n ],\n\n /**\n * Controls the UI of the CI login page.\n * @private\n * @type {string}\n */\n cisService: ['string', false, 'webex'],\n },\n\n derived: {\n /**\n * User activation URL\n * {@link config.credentials.activationUrl}\n * @type {string}\n */\n activationUrl: {\n deps: ['idbroker.url'],\n fn() {\n return `${\n this.idbroker.url || 'https://idbroker.webex.com'\n }/idb/token/v1/actions/UserActivation/invoke`;\n },\n cache: false,\n },\n\n /**\n * Generate OTP URL\n * {@link config.credentials.generateOtpUrl}\n * @type {string}\n */\n generateOtpUrl: {\n deps: ['idbroker.url'],\n fn() {\n return `${\n this.idbroker.url || 'https://idbroker.webex.com'\n }/idb/token/v1/actions/UserOTP/Generate/invoke`;\n },\n cache: false,\n },\n\n /**\n * Validate OTP URL\n * {@link config.credentials.validateOtpUrl}\n * @type {string}\n */\n validateOtpUrl: {\n deps: ['idbroker.url'],\n fn() {\n return `${\n this.idbroker.url || 'https://idbroker.webex.com'\n }/idb/token/v1/actions/UserOTP/Validate/invoke`;\n },\n cache: false,\n },\n\n // TODO does hydra also have an access_token endpoint?\n /**\n * Token URL used for token refresh and auth code exchange\n * @type {string}\n */\n tokenUrl: {\n deps: ['idbroker.url'],\n fn() {\n return process.env.TOKEN_URL || `${this.idbroker.url}/idb/oauth2/v1/access_token`;\n },\n cache: false,\n },\n\n /**\n * URL to revoke token\n * @type {string}\n */\n revokeUrl: {\n deps: ['idbroker.url'],\n fn() {\n return process.env.REVOKE_URL || `${this.idbroker.url}/idb/oauth2/v1/revoke`;\n },\n cache: false,\n },\n\n /**\n * URL to load when the app logs out\n * @type {string}\n */\n logoutUrl: {\n deps: ['idbroker.url'],\n fn() {\n return `${this.idbroker.url}/idb/oauth2/v1/logout`;\n },\n cache: false,\n },\n\n /**\n * Set password URL\n * @type {string}\n */\n setPasswordUrl: {\n deps: ['identity.url'],\n fn() {\n return `${this.identity.url || 'https://identity.webex.com'}/identity/scim/v1/Users`;\n },\n cache: false,\n },\n },\n});\n\nexport default CredentialsConfig;\n"],"mappings":"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"}
1
+ {"version":3,"names":["_ampersandState","_interopRequireDefault","require","CredentialsConfig","AmpState","extend","extraProperties","props","idbroker","url","process","env","IDBROKER_BASE_URL","identity","IDENTITY_BASE_URL","authorizationString","WEBEX_AUTHORIZATION_STRING","AUTHORIZATION_STRING","authorizeUrl","WEBEX_AUTHORIZE_URL","concat","client_id","WEBEX_CLIENT_ID","COMMON_IDENTITY_CLIENT_ID","CLIENT_ID","client_secret","WEBEX_CLIENT_SECRET","COMMON_IDENTITY_CLIENT_SECRET","CLIENT_SECRET","redirect_uri","WEBEX_REDIRECT_URI","COMMON_IDENTITY_REDIRECT_URI","REDIRECT_URI","scope","WEBEX_SCOPE","WEBEX_SCOPES","COMMON_IDENTITY_SCOPE","SCOPE","cisService","derived","activationUrl","deps","fn","cache","generateOtpUrl","validateOtpUrl","tokenUrl","TOKEN_URL","revokeUrl","REVOKE_URL","logoutUrl","setPasswordUrl","_default","exports","default"],"sources":["credentials-config.js"],"sourcesContent":["import AmpState from 'ampersand-state';\n\n// The credentials config which includes the CI server info and derived\n// URL properties from them for the various CI services. The URL's\n// will be updated when the CI changes.\nconst CredentialsConfig = AmpState.extend({\n // we need to allow extra props for dynamic props like jwtRefreshCallback\n extraProperties: 'allow',\n\n props: {\n /**\n * The idbroker base host name\n * @returns {object}\n */\n idbroker: [\n 'object',\n false,\n () => ({\n url: process.env.IDBROKER_BASE_URL || 'https://idbroker.webex.com',\n }),\n ],\n\n /**\n * The identity base host name\n * @returns {object}\n */\n identity: [\n 'object',\n false,\n () => ({\n url: process.env.IDENTITY_BASE_URL || 'https://identity.webex.com',\n }),\n ],\n\n /**\n * This is the authorization url displayed on the\n * {@link developer portal|https://developer.webex.com}\n * @type {string}\n */\n authorizationString: [\n 'string',\n false,\n process.env.WEBEX_AUTHORIZATION_STRING || process.env.AUTHORIZATION_STRING,\n ],\n\n /**\n * Authorization URL which prompts for user's password. Inferred from\n * {@link config.credentials.authorizationString}. This config value will\n * be automatically set if `authorizationString` config value is specified.\n *\n * @type {string}\n */\n authorizeUrl: [\n 'string',\n false,\n process.env.WEBEX_AUTHORIZE_URL ||\n `${process.env.IDBROKER_BASE_URL || 'https://idbroker.webex.com'}/idb/oauth2/v1/authorize`,\n ],\n\n /**\n * {@see https://tools.ietf.org/html/rfc6749#section-4.1.4}\n * @type {string}\n */\n client_id: [\n 'string',\n false,\n process.env.WEBEX_CLIENT_ID || process.env.COMMON_IDENTITY_CLIENT_ID || process.env.CLIENT_ID,\n ],\n\n /**\n * {@see https://tools.ietf.org/html/rfc6749#section-4.1.4}\n * @type {string}\n */\n client_secret: [\n 'string',\n false,\n process.env.WEBEX_CLIENT_SECRET ||\n process.env.COMMON_IDENTITY_CLIENT_SECRET ||\n process.env.CLIENT_SECRET,\n ],\n\n /**\n * {@see https://tools.ietf.org/html/rfc6749#section-4.1.4}\n * @type {string}\n */\n redirect_uri: [\n 'string',\n false,\n process.env.WEBEX_REDIRECT_URI ||\n process.env.COMMON_IDENTITY_REDIRECT_URI ||\n process.env.REDIRECT_URI,\n ],\n\n /**\n * {@see https://tools.ietf.org/html/rfc6749#section-4.1.4}\n * @type {string}\n */\n scope: [\n 'string',\n false,\n process.env.WEBEX_SCOPE ||\n process.env.WEBEX_SCOPES ||\n process.env.COMMON_IDENTITY_SCOPE ||\n process.env.SCOPE,\n ],\n\n /**\n * Controls the UI of the CI login page.\n * @private\n * @type {string}\n */\n cisService: ['string', false, 'webex'],\n },\n\n derived: {\n /**\n * User activation URL\n * {@link config.credentials.activationUrl}\n * @type {string}\n */\n activationUrl: {\n deps: ['idbroker.url'],\n fn() {\n return `${\n this.idbroker.url || 'https://idbroker.webex.com'\n }/idb/token/v1/actions/UserActivation/invoke`;\n },\n cache: false,\n },\n\n /**\n * Generate OTP URL\n * {@link config.credentials.generateOtpUrl}\n * @type {string}\n */\n generateOtpUrl: {\n deps: ['idbroker.url'],\n fn() {\n return `${\n this.idbroker.url || 'https://idbroker.webex.com'\n }/idb/token/v1/actions/UserOTP/Generate/invoke`;\n },\n cache: false,\n },\n\n /**\n * Validate OTP URL\n * {@link config.credentials.validateOtpUrl}\n * @type {string}\n */\n validateOtpUrl: {\n deps: ['idbroker.url'],\n fn() {\n return `${\n this.idbroker.url || 'https://idbroker.webex.com'\n }/idb/token/v1/actions/UserOTP/Validate/invoke`;\n },\n cache: false,\n },\n\n // TODO does hydra also have an access_token endpoint?\n /**\n * Token URL used for token refresh and auth code exchange\n * @type {string}\n */\n tokenUrl: {\n deps: ['idbroker.url'],\n fn() {\n return process.env.TOKEN_URL || `${this.idbroker.url}/idb/oauth2/v1/access_token`;\n },\n cache: false,\n },\n\n /**\n * URL to revoke token\n * @type {string}\n */\n revokeUrl: {\n deps: ['idbroker.url'],\n fn() {\n return process.env.REVOKE_URL || `${this.idbroker.url}/idb/oauth2/v1/revoke`;\n },\n cache: false,\n },\n\n /**\n * URL to load when the app logs out\n * @type {string}\n */\n logoutUrl: {\n deps: ['idbroker.url'],\n fn() {\n return `${this.idbroker.url}/idb/oauth2/v1/logout`;\n },\n cache: false,\n },\n\n /**\n * Set password URL\n * @type {string}\n */\n setPasswordUrl: {\n deps: ['identity.url'],\n fn() {\n return `${this.identity.url || 'https://identity.webex.com'}/identity/scim/v1/Users`;\n },\n cache: false,\n },\n },\n});\n\nexport default CredentialsConfig;\n"],"mappings":"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"}
package/dist/index.js CHANGED
@@ -297,6 +297,6 @@ var _defaultOptions = _interopRequireDefault(require("./interceptors/default-opt
297
297
  var _batcher = _interopRequireDefault(require("./lib/batcher"));
298
298
  var _page = _interopRequireDefault(require("./lib/page"));
299
299
  var _config = _interopRequireDefault(require("./config"));
300
- function _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== "function") return null; var cacheBabelInterop = new _WeakMap(); var cacheNodeInterop = new _WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
301
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = _Object$defineProperty && _Object$getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? _Object$getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { _Object$defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
300
+ function _getRequireWildcardCache(e) { if ("function" != typeof _WeakMap) return null; var r = new _WeakMap(), t = new _WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
301
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = _Object$defineProperty && _Object$getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? _Object$getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? _Object$defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
302
302
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["index.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n *\n * Services is currently a part of webex-core due to how the contents of\n * the original internal-plugin-services needed to be accessed when webex-core\n * is initialized. As a plugin outside of webex-core, it would initialize after\n * credentials, causing all requests prior to its initialization to fail\n * federation requirements, and instead send requests to the environmentally-\n * assigned urls.\n */\n\nimport './plugins/logger';\nimport './lib/credentials';\nimport './lib/services';\n\nexport {Credentials, filterScope, grantErrors, sortScope, Token} from './lib/credentials';\n\nexport {\n constants as serviceConstants,\n ServiceCatalog,\n ServiceRegistry,\n ServiceState,\n ServiceInterceptor,\n ServerErrorInterceptor,\n Services,\n ServiceHost,\n ServiceUrl,\n} from './lib/services';\n\nexport {\n makeWebexStore,\n makeWebexPluginStore,\n MemoryStoreAdapter,\n NotFoundError,\n persist,\n StorageError,\n waitForValue,\n} from './lib/storage';\n\nexport {default, registerPlugin, registerInternalPlugin} from './webex-core';\n\nexport {default as WebexHttpError} from './lib/webex-http-error';\nexport {default as StatelessWebexPlugin} from './lib/stateless-webex-plugin';\nexport {default as WebexPlugin} from './lib/webex-plugin';\nexport {default as AuthInterceptor} from './interceptors/auth';\nexport {default as NetworkTimingInterceptor} from './interceptors/network-timing';\nexport {default as PayloadTransformerInterceptor} from './interceptors/payload-transformer';\nexport {default as RedirectInterceptor} from './interceptors/redirect';\nexport {default as ResponseLoggerInterceptor} from './interceptors/response-logger';\nexport {default as RequestEventInterceptor} from './interceptors/request-event';\nexport {default as RequestLoggerInterceptor} from './interceptors/request-logger';\nexport {default as RequestTimingInterceptor} from './interceptors/request-timing';\nexport {default as UserAgentInterceptor} from './interceptors/user-agent';\nexport {default as WebexTrackingIdInterceptor} from './interceptors/webex-tracking-id';\nexport {default as WebexUserAgentInterceptor} from './interceptors/webex-user-agent';\nexport {default as RateLimitInterceptor} from './interceptors/rate-limit';\nexport {default as EmbargoInterceptor} from './interceptors/embargo';\nexport {default as DefaultOptionsInterceptor} from './interceptors/default-options';\n\nexport {default as Batcher} from './lib/batcher';\nexport {default as Page} from './lib/page';\nexport {default as config} from './config';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAWA;AACA;AACA;AAgBA;AAUA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAA2C;AAAA"}
1
+ {"version":3,"names":["require","_credentials","_services","_storage","_webexCore","_interopRequireWildcard","_webexHttpError","_interopRequireDefault","_statelessWebexPlugin","_webexPlugin","_auth","_networkTiming","_payloadTransformer","_redirect","_responseLogger","_requestEvent","_requestLogger","_requestTiming","_userAgent","_webexTrackingId","_webexUserAgent","_rateLimit","_embargo","_defaultOptions","_batcher","_page","_config","_getRequireWildcardCache","e","_WeakMap","r","t","__esModule","_typeof","default","has","get","n","__proto__","a","_Object$defineProperty","_Object$getOwnPropertyDescriptor","u","Object","prototype","hasOwnProperty","call","i","set"],"sources":["index.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n *\n * Services is currently a part of webex-core due to how the contents of\n * the original internal-plugin-services needed to be accessed when webex-core\n * is initialized. As a plugin outside of webex-core, it would initialize after\n * credentials, causing all requests prior to its initialization to fail\n * federation requirements, and instead send requests to the environmentally-\n * assigned urls.\n */\n\nimport './plugins/logger';\nimport './lib/credentials';\nimport './lib/services';\n\nexport {Credentials, filterScope, grantErrors, sortScope, Token} from './lib/credentials';\n\nexport {\n constants as serviceConstants,\n ServiceCatalog,\n ServiceRegistry,\n ServiceState,\n ServiceInterceptor,\n ServerErrorInterceptor,\n Services,\n ServiceHost,\n ServiceUrl,\n} from './lib/services';\n\nexport {\n makeWebexStore,\n makeWebexPluginStore,\n MemoryStoreAdapter,\n NotFoundError,\n persist,\n StorageError,\n waitForValue,\n} from './lib/storage';\n\nexport {default, registerPlugin, registerInternalPlugin} from './webex-core';\n\nexport {default as WebexHttpError} from './lib/webex-http-error';\nexport {default as StatelessWebexPlugin} from './lib/stateless-webex-plugin';\nexport {default as WebexPlugin} from './lib/webex-plugin';\nexport {default as AuthInterceptor} from './interceptors/auth';\nexport {default as NetworkTimingInterceptor} from './interceptors/network-timing';\nexport {default as PayloadTransformerInterceptor} from './interceptors/payload-transformer';\nexport {default as RedirectInterceptor} from './interceptors/redirect';\nexport {default as ResponseLoggerInterceptor} from './interceptors/response-logger';\nexport {default as RequestEventInterceptor} from './interceptors/request-event';\nexport {default as RequestLoggerInterceptor} from './interceptors/request-logger';\nexport {default as RequestTimingInterceptor} from './interceptors/request-timing';\nexport {default as UserAgentInterceptor} from './interceptors/user-agent';\nexport {default as WebexTrackingIdInterceptor} from './interceptors/webex-tracking-id';\nexport {default as WebexUserAgentInterceptor} from './interceptors/webex-user-agent';\nexport {default as RateLimitInterceptor} from './interceptors/rate-limit';\nexport {default as EmbargoInterceptor} from './interceptors/embargo';\nexport {default as DefaultOptionsInterceptor} from './interceptors/default-options';\n\nexport {default as Batcher} from './lib/batcher';\nexport {default as Page} from './lib/page';\nexport {default as config} from './config';\n"],"mappings":"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"}
@@ -16,11 +16,13 @@ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime
16
16
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/getPrototypeOf"));
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
- 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; } }
19
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !_Reflect$construct) return false; if (_Reflect$construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(_Reflect$construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } /*!
20
+ * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
21
+ */
20
22
  /**
21
23
  * @class
22
24
  */
23
- var AuthInterceptor = /*#__PURE__*/function (_Interceptor) {
25
+ var AuthInterceptor = exports.default = /*#__PURE__*/function (_Interceptor) {
24
26
  (0, _inherits2.default)(AuthInterceptor, _Interceptor);
25
27
  var _super = _createSuper(AuthInterceptor);
26
28
  function AuthInterceptor() {
@@ -200,5 +202,4 @@ var AuthInterceptor = /*#__PURE__*/function (_Interceptor) {
200
202
  }]);
201
203
  return AuthInterceptor;
202
204
  }(_httpCore.Interceptor);
203
- exports.default = AuthInterceptor;
204
205
  //# sourceMappingURL=auth.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["AuthInterceptor","options","headers","authorization","resolve","requiresCredentials","then","requires","webex","credentials","getUserToken","token","toString","addAuthHeader","internal","services","details","getServiceFromUrl","uri","name","resource","service","api","includes","validateDomains","hasAllowedDomains","isAllowedDomainUrl","waitForService","url","detectedUrl","catch","error","logger","warn","reason","shouldAttemptReauth","info","canRefresh","refresh","replay","reject","replayCount","config","maxAuthenticationReplays","Error","request","shouldRefreshAccessToken","statusCode","Interceptor"],"sources":["auth.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 AuthInterceptor extends Interceptor {\n /**\n * @returns {AuthInterceptor}\n */\n static create() {\n return new AuthInterceptor({webex: this});\n }\n\n /**\n * @see {@link Interceptor#onRequest}\n * @param {Object} options\n * @returns {Object}\n */\n onRequest(options) {\n options.headers = options.headers || {};\n\n // If Authorizations is already set, don't overwrite it\n if ('authorization' in options.headers || 'auth' in options) {\n // If Authorization is set to null, false, or undefined, delete it to\n // prevent a CORS preflight.\n if (!options.headers.authorization) {\n Reflect.deleteProperty(options.headers, 'authorization');\n }\n\n return Promise.resolve(options);\n }\n\n return this.requiresCredentials(options).then((requires) => {\n if (!requires) {\n return options;\n }\n\n return this.webex.credentials.getUserToken().then((token) => {\n options.headers.authorization = token.toString();\n\n return options;\n });\n });\n }\n\n /**\n * Determines if the provided options object needs an authorization header.\n *\n * @param {Object} options\n * @returns {Promise<boolean>}\n */\n requiresCredentials(options) {\n // Validate that authorization is necessary.\n if (options.addAuthHeader === false) {\n return Promise.resolve(false);\n }\n\n // Validate that the services plugin has been loaded before proceeding.\n if (!this.webex.internal.services) {\n return Promise.resolve(false);\n }\n\n // Destructure webex instance to isolate services plugin.\n const {services} = this.webex.internal;\n\n // Store the current service details if available and destructure details.\n const details = services.getServiceFromUrl(options.uri || '');\n const {name} = details || {};\n const {resource, uri} = options;\n const service = options.service || options.api;\n\n // Unique validation for the u2c service.\n if ((service && service === 'u2c') || (name && name === 'u2c')) {\n if ((resource && resource.includes('limited')) || (uri && uri.includes('limited'))) {\n return Promise.resolve(false);\n }\n\n return Promise.resolve(true);\n }\n\n // Validate that the allowed domains can be utilized.\n if (\n services.validateDomains &&\n services.hasAllowedDomains() &&\n uri &&\n services.isAllowedDomainUrl(uri)\n ) {\n return Promise.resolve(true);\n }\n\n // Perform an additional validation in case the service does not exist yet.\n return services\n .waitForService({name: service, url: uri})\n .then((detectedUrl) => {\n // Validate that the url exists in the catalog.\n if (services.getServiceFromUrl(detectedUrl)) {\n return true;\n }\n\n // Return false to indicate authentication is not required.\n return false;\n })\n .catch((error) => {\n this.webex.logger.warn(\n 'auth-interceptor: failed to validate service exists in catalog',\n error\n );\n\n return false;\n });\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 return this.shouldAttemptReauth(reason, options).then((shouldAttemptReauth) => {\n if (shouldAttemptReauth) {\n this.webex.logger.info('auth: received 401, attempting to reauthenticate');\n\n if (reason.options.headers) {\n Reflect.deleteProperty(reason.options.headers, 'authorization');\n }\n\n if (this.webex.credentials.canRefresh) {\n return this.webex.credentials.refresh().then(() => this.replay(options));\n }\n }\n\n return Promise.reject(reason);\n });\n }\n\n /**\n * Replays the request\n * @param {Object} options\n * @returns {Object}\n */\n replay(options) {\n if (options.replayCount) {\n options.replayCount += 1;\n } else {\n options.replayCount = 1;\n }\n\n if (options.replayCount > this.webex.config.maxAuthenticationReplays) {\n this.webex.logger.error(\n `auth: failed after ${this.webex.config.maxAuthenticationReplays} replay attempts`\n );\n\n return Promise.reject(\n new Error(`Failed after ${this.webex.config.maxAuthenticationReplays} replay attempts`)\n );\n }\n\n this.webex.logger.info(`auth: replaying request ${options.replayCount} time`);\n\n return this.webex.request(options);\n }\n\n /**\n * Indicates whether or not the current request should refresh its access\n * token in event of a 401\n * @param {Error} reason\n * @param {Object} options\n * @returns {Promise<boolean>}\n */\n shouldAttemptReauth(reason, options) {\n if (options && options.shouldRefreshAccessToken === false) {\n return Promise.resolve(false);\n }\n\n if (reason.statusCode === 401) {\n return Promise.resolve(true);\n }\n\n return Promise.resolve(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","AuthInterceptor","exports","_Interceptor","_inherits2","_super","_classCallCheck2","_createClass2","key","value","onRequest","options","_this","headers","authorization","_deleteProperty","_promise","resolve","requiresCredentials","then","requires","webex","credentials","getUserToken","token","toString","_this2","addAuthHeader","internal","services","details","getServiceFromUrl","uri","_ref","name","resource","service","api","includes","validateDomains","hasAllowedDomains","isAllowedDomainUrl","waitForService","url","detectedUrl","catch","error","logger","warn","onResponseError","reason","_this3","shouldAttemptReauth","info","canRefresh","refresh","replay","reject","replayCount","config","maxAuthenticationReplays","concat","Error","request","shouldRefreshAccessToken","statusCode","create","Interceptor"],"sources":["auth.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 AuthInterceptor extends Interceptor {\n /**\n * @returns {AuthInterceptor}\n */\n static create() {\n return new AuthInterceptor({webex: this});\n }\n\n /**\n * @see {@link Interceptor#onRequest}\n * @param {Object} options\n * @returns {Object}\n */\n onRequest(options) {\n options.headers = options.headers || {};\n\n // If Authorizations is already set, don't overwrite it\n if ('authorization' in options.headers || 'auth' in options) {\n // If Authorization is set to null, false, or undefined, delete it to\n // prevent a CORS preflight.\n if (!options.headers.authorization) {\n Reflect.deleteProperty(options.headers, 'authorization');\n }\n\n return Promise.resolve(options);\n }\n\n return this.requiresCredentials(options).then((requires) => {\n if (!requires) {\n return options;\n }\n\n return this.webex.credentials.getUserToken().then((token) => {\n options.headers.authorization = token.toString();\n\n return options;\n });\n });\n }\n\n /**\n * Determines if the provided options object needs an authorization header.\n *\n * @param {Object} options\n * @returns {Promise<boolean>}\n */\n requiresCredentials(options) {\n // Validate that authorization is necessary.\n if (options.addAuthHeader === false) {\n return Promise.resolve(false);\n }\n\n // Validate that the services plugin has been loaded before proceeding.\n if (!this.webex.internal.services) {\n return Promise.resolve(false);\n }\n\n // Destructure webex instance to isolate services plugin.\n const {services} = this.webex.internal;\n\n // Store the current service details if available and destructure details.\n const details = services.getServiceFromUrl(options.uri || '');\n const {name} = details || {};\n const {resource, uri} = options;\n const service = options.service || options.api;\n\n // Unique validation for the u2c service.\n if ((service && service === 'u2c') || (name && name === 'u2c')) {\n if ((resource && resource.includes('limited')) || (uri && uri.includes('limited'))) {\n return Promise.resolve(false);\n }\n\n return Promise.resolve(true);\n }\n\n // Validate that the allowed domains can be utilized.\n if (\n services.validateDomains &&\n services.hasAllowedDomains() &&\n uri &&\n services.isAllowedDomainUrl(uri)\n ) {\n return Promise.resolve(true);\n }\n\n // Perform an additional validation in case the service does not exist yet.\n return services\n .waitForService({name: service, url: uri})\n .then((detectedUrl) => {\n // Validate that the url exists in the catalog.\n if (services.getServiceFromUrl(detectedUrl)) {\n return true;\n }\n\n // Return false to indicate authentication is not required.\n return false;\n })\n .catch((error) => {\n this.webex.logger.warn(\n 'auth-interceptor: failed to validate service exists in catalog',\n error\n );\n\n return false;\n });\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 return this.shouldAttemptReauth(reason, options).then((shouldAttemptReauth) => {\n if (shouldAttemptReauth) {\n this.webex.logger.info('auth: received 401, attempting to reauthenticate');\n\n if (reason.options.headers) {\n Reflect.deleteProperty(reason.options.headers, 'authorization');\n }\n\n if (this.webex.credentials.canRefresh) {\n return this.webex.credentials.refresh().then(() => this.replay(options));\n }\n }\n\n return Promise.reject(reason);\n });\n }\n\n /**\n * Replays the request\n * @param {Object} options\n * @returns {Object}\n */\n replay(options) {\n if (options.replayCount) {\n options.replayCount += 1;\n } else {\n options.replayCount = 1;\n }\n\n if (options.replayCount > this.webex.config.maxAuthenticationReplays) {\n this.webex.logger.error(\n `auth: failed after ${this.webex.config.maxAuthenticationReplays} replay attempts`\n );\n\n return Promise.reject(\n new Error(`Failed after ${this.webex.config.maxAuthenticationReplays} replay attempts`)\n );\n }\n\n this.webex.logger.info(`auth: replaying request ${options.replayCount} time`);\n\n return this.webex.request(options);\n }\n\n /**\n * Indicates whether or not the current request should refresh its access\n * token in event of a 401\n * @param {Error} reason\n * @param {Object} options\n * @returns {Promise<boolean>}\n */\n shouldAttemptReauth(reason, options) {\n if (options && options.shouldRefreshAccessToken === false) {\n return Promise.resolve(false);\n }\n\n if (reason.statusCode === 401) {\n return Promise.resolve(true);\n }\n\n return Promise.resolve(false);\n }\n}\n"],"mappings":"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"}
@@ -15,7 +15,9 @@ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime
15
15
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/getPrototypeOf"));
16
16
  var _httpCore = require("@webex/http-core");
17
17
  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); }; }
18
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !_Reflect$construct) return false; if (_Reflect$construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(_Reflect$construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
18
+ 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; } } /*!
19
+ * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
20
+ */
19
21
  /**
20
22
  * Allows the user of the SDK to set default options that apply every http request made by the SDK
21
23
  * For example a default timeout could be set for all requests like this :
@@ -35,7 +37,7 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !_R
35
37
  * }
36
38
  * });
37
39
  */
38
- var DefaultOptionsInterceptor = /*#__PURE__*/function (_Interceptor) {
40
+ var DefaultOptionsInterceptor = exports.default = /*#__PURE__*/function (_Interceptor) {
39
41
  (0, _inherits2.default)(DefaultOptionsInterceptor, _Interceptor);
40
42
  var _super = _createSuper(DefaultOptionsInterceptor);
41
43
  function DefaultOptionsInterceptor() {
@@ -77,5 +79,4 @@ var DefaultOptionsInterceptor = /*#__PURE__*/function (_Interceptor) {
77
79
  }]);
78
80
  return DefaultOptionsInterceptor;
79
81
  }(_httpCore.Interceptor);
80
- exports.default = DefaultOptionsInterceptor;
81
82
  //# sourceMappingURL=default-options.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["DefaultOptionsInterceptor","options","defaultOptions","webex","config","defaultRequestOptions","forEach","key","includes","Interceptor"],"sources":["default-options.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport {Interceptor} from '@webex/http-core';\n\n/**\n * Allows the user of the SDK to set default options that apply every http request made by the SDK\n * For example a default timeout could be set for all requests like this :\n *\n * webex = WebexSdk.init({\n * credentials: {\n * supertoken: superToken\n * },\n * config: {\n * credentials: {\n * client_id,\n * client_secret\n * },\n * defaultRequestOptions: {\n * timeout: 15000\n * }\n * }\n * });\n */\nexport default class DefaultOptionsInterceptor extends Interceptor {\n /**\n * @returns {DefaultOptionsInterceptor}\n */\n static create() {\n return new DefaultOptionsInterceptor({webex: this});\n }\n\n /**\n * @see Interceptor#onRequest\n * @param {Object} options\n * @returns {Object}\n */\n onRequest(options) {\n const {defaultRequestOptions: defaultOptions} = this.webex.config;\n\n if (!defaultOptions) {\n return options;\n }\n\n Object.keys(defaultOptions).forEach((key) => {\n // don't override any existing option properties\n if (!Object.keys(options).includes(key)) {\n options[key] = defaultOptions[key];\n }\n });\n\n return options;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;AAIA;AAA6C;AAAA;AAE7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAlBA,IAmBqBA,yBAAyB;EAAA;EAAA;EAAA;IAAA;IAAA;EAAA;EAAA;IAAA;IAAA;IAQ5C;AACF;AACA;AACA;AACA;IACE,mBAAUC,OAAO,EAAE;MACjB,IAA8BC,cAAc,GAAI,IAAI,CAACC,KAAK,CAACC,MAAM,CAA1DC,qBAAqB;MAE5B,IAAI,CAACH,cAAc,EAAE;QACnB,OAAOD,OAAO;MAChB;MAEA,mBAAYC,cAAc,CAAC,CAACI,OAAO,CAAC,UAACC,GAAG,EAAK;QAC3C;QACA,IAAI,CAAC,mBAAYN,OAAO,CAAC,CAACO,QAAQ,CAACD,GAAG,CAAC,EAAE;UACvCN,OAAO,CAACM,GAAG,CAAC,GAAGL,cAAc,CAACK,GAAG,CAAC;QACpC;MACF,CAAC,CAAC;MAEF,OAAON,OAAO;IAChB;EAAC;IAAA;IAAA;IA3BD;AACF;AACA;IACE,kBAAgB;MACd,OAAO,IAAID,yBAAyB,CAAC;QAACG,KAAK,EAAE;MAAI,CAAC,CAAC;IACrD;EAAC;EAAA;AAAA,EANoDM,qBAAW;AAAA"}
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","DefaultOptionsInterceptor","exports","_Interceptor","_inherits2","_super","_classCallCheck2","_createClass2","key","value","onRequest","options","defaultOptions","webex","config","defaultRequestOptions","_keys","forEach","includes","create","Interceptor"],"sources":["default-options.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport {Interceptor} from '@webex/http-core';\n\n/**\n * Allows the user of the SDK to set default options that apply every http request made by the SDK\n * For example a default timeout could be set for all requests like this :\n *\n * webex = WebexSdk.init({\n * credentials: {\n * supertoken: superToken\n * },\n * config: {\n * credentials: {\n * client_id,\n * client_secret\n * },\n * defaultRequestOptions: {\n * timeout: 15000\n * }\n * }\n * });\n */\nexport default class DefaultOptionsInterceptor extends Interceptor {\n /**\n * @returns {DefaultOptionsInterceptor}\n */\n static create() {\n return new DefaultOptionsInterceptor({webex: this});\n }\n\n /**\n * @see Interceptor#onRequest\n * @param {Object} options\n * @returns {Object}\n */\n onRequest(options) {\n const {defaultRequestOptions: defaultOptions} = this.webex.config;\n\n if (!defaultOptions) {\n return options;\n }\n\n Object.keys(defaultOptions).forEach((key) => {\n // don't override any existing option properties\n if (!Object.keys(options).includes(key)) {\n options[key] = defaultOptions[key];\n }\n });\n\n return options;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;AAIA,IAAAA,SAAA,GAAAC,OAAA;AAA6C,SAAAC,aAAAC,OAAA,QAAAC,yBAAA,GAAAC,yBAAA,oBAAAC,qBAAA,QAAAC,KAAA,OAAAC,gBAAA,CAAAC,OAAA,EAAAN,OAAA,GAAAO,MAAA,MAAAN,yBAAA,QAAAO,SAAA,OAAAH,gBAAA,CAAAC,OAAA,QAAAG,WAAA,EAAAF,MAAA,GAAAG,kBAAA,CAAAN,KAAA,EAAAO,SAAA,EAAAH,SAAA,YAAAD,MAAA,GAAAH,KAAA,CAAAQ,KAAA,OAAAD,SAAA,gBAAAE,2BAAA,CAAAP,OAAA,QAAAC,MAAA;AAAA,SAAAL,0BAAA,eAAAY,OAAA,qBAAAJ,kBAAA,oBAAAA,kBAAA,CAAAK,IAAA,2BAAAC,KAAA,oCAAAC,OAAA,CAAAC,SAAA,CAAAC,OAAA,CAAAC,IAAA,CAAAV,kBAAA,CAAAO,OAAA,8CAAAI,CAAA,sBAJ7C;AACA;AACA;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAlBA,IAmBqBC,yBAAyB,GAAAC,OAAA,CAAAjB,OAAA,0BAAAkB,YAAA;EAAA,IAAAC,UAAA,CAAAnB,OAAA,EAAAgB,yBAAA,EAAAE,YAAA;EAAA,IAAAE,MAAA,GAAA3B,YAAA,CAAAuB,yBAAA;EAAA,SAAAA,0BAAA;IAAA,IAAAK,gBAAA,CAAArB,OAAA,QAAAgB,yBAAA;IAAA,OAAAI,MAAA,CAAAd,KAAA,OAAAD,SAAA;EAAA;EAAA,IAAAiB,aAAA,CAAAtB,OAAA,EAAAgB,yBAAA;IAAAO,GAAA;IAAAC,KAAA;IAQ5C;AACF;AACA;AACA;AACA;IACE,SAAAC,UAAUC,OAAO,EAAE;MACjB,IAA8BC,cAAc,GAAI,IAAI,CAACC,KAAK,CAACC,MAAM,CAA1DC,qBAAqB;MAE5B,IAAI,CAACH,cAAc,EAAE;QACnB,OAAOD,OAAO;MAChB;MAEA,IAAAK,KAAA,CAAA/B,OAAA,EAAY2B,cAAc,CAAC,CAACK,OAAO,CAAC,UAACT,GAAG,EAAK;QAC3C;QACA,IAAI,CAAC,IAAAQ,KAAA,CAAA/B,OAAA,EAAY0B,OAAO,CAAC,CAACO,QAAQ,CAACV,GAAG,CAAC,EAAE;UACvCG,OAAO,CAACH,GAAG,CAAC,GAAGI,cAAc,CAACJ,GAAG,CAAC;QACpC;MACF,CAAC,CAAC;MAEF,OAAOG,OAAO;IAChB;EAAC;IAAAH,GAAA;IAAAC,KAAA;IA3BD;AACF;AACA;IACE,SAAAU,OAAA,EAAgB;MACd,OAAO,IAAIlB,yBAAyB,CAAC;QAACY,KAAK,EAAE;MAAI,CAAC,CAAC;IACrD;EAAC;EAAA,OAAAZ,yBAAA;AAAA,EANoDmB,qBAAW"}
@@ -15,11 +15,13 @@ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime
15
15
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/getPrototypeOf"));
16
16
  var _httpCore = require("@webex/http-core");
17
17
  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); }; }
18
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !_Reflect$construct) return false; if (_Reflect$construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(_Reflect$construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
18
+ 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; } } /*!
19
+ * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
20
+ */
19
21
  /**
20
22
  * @class
21
23
  */
22
- var EmbargoInterceptor = /*#__PURE__*/function (_Interceptor) {
24
+ var EmbargoInterceptor = exports.default = /*#__PURE__*/function (_Interceptor) {
23
25
  (0, _inherits2.default)(EmbargoInterceptor, _Interceptor);
24
26
  var _super = _createSuper(EmbargoInterceptor);
25
27
  function EmbargoInterceptor() {
@@ -62,5 +64,4 @@ var EmbargoInterceptor = /*#__PURE__*/function (_Interceptor) {
62
64
  }]);
63
65
  return EmbargoInterceptor;
64
66
  }(_httpCore.Interceptor);
65
- exports.default = EmbargoInterceptor;
66
67
  //# sourceMappingURL=embargo.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["EmbargoInterceptor","options","reason","statusCode","device","webex","internal","loggerMessage","join","clear","credentials","logger","info","reject","Interceptor"],"sources":["embargo.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 EmbargoInterceptor extends Interceptor {\n /**\n * @returns {EmbargoInterceptor}\n */\n static create() {\n /* eslint no-invalid-this: [0] */\n return new EmbargoInterceptor({webex: this});\n }\n\n /**\n * @see Interceptor#onResponseError\n * @param {Object} options\n * @param {Error} reason\n * @returns {Promise}\n */\n onResponseError(options, reason) {\n if (reason.statusCode === 451) {\n const {device} = this.webex.internal;\n const loggerMessage = [\n 'Received `HTTP 451 Unavailable For Legal Reasons`, ',\n 'discarding credentials and device registration',\n ].join('');\n\n if (device) {\n this.webex.internal.device.clear();\n }\n\n this.webex.credentials.clear();\n this.webex.logger.info(loggerMessage);\n }\n\n return Promise.reject(reason);\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;AAIA;AAA6C;AAAA;AAE7C;AACA;AACA;AAFA,IAGqBA,kBAAkB;EAAA;EAAA;EAAA;IAAA;IAAA;EAAA;EAAA;IAAA;IAAA;IASrC;AACF;AACA;AACA;AACA;AACA;IACE,yBAAgBC,OAAO,EAAEC,MAAM,EAAE;MAC/B,IAAIA,MAAM,CAACC,UAAU,KAAK,GAAG,EAAE;QAC7B,IAAOC,MAAM,GAAI,IAAI,CAACC,KAAK,CAACC,QAAQ,CAA7BF,MAAM;QACb,IAAMG,aAAa,GAAG,CACpB,qDAAqD,EACrD,gDAAgD,CACjD,CAACC,IAAI,CAAC,EAAE,CAAC;QAEV,IAAIJ,MAAM,EAAE;UACV,IAAI,CAACC,KAAK,CAACC,QAAQ,CAACF,MAAM,CAACK,KAAK,EAAE;QACpC;QAEA,IAAI,CAACJ,KAAK,CAACK,WAAW,CAACD,KAAK,EAAE;QAC9B,IAAI,CAACJ,KAAK,CAACM,MAAM,CAACC,IAAI,CAACL,aAAa,CAAC;MACvC;MAEA,OAAO,iBAAQM,MAAM,CAACX,MAAM,CAAC;IAC/B;EAAC;IAAA;IAAA;IA/BD;AACF;AACA;IACE,kBAAgB;MACd;MACA,OAAO,IAAIF,kBAAkB,CAAC;QAACK,KAAK,EAAE;MAAI,CAAC,CAAC;IAC9C;EAAC;EAAA;AAAA,EAP6CS,qBAAW;AAAA"}
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","EmbargoInterceptor","exports","_Interceptor","_inherits2","_super","_classCallCheck2","_createClass2","key","value","onResponseError","options","reason","statusCode","device","webex","internal","loggerMessage","join","clear","credentials","logger","info","_promise","reject","create","Interceptor"],"sources":["embargo.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 EmbargoInterceptor extends Interceptor {\n /**\n * @returns {EmbargoInterceptor}\n */\n static create() {\n /* eslint no-invalid-this: [0] */\n return new EmbargoInterceptor({webex: this});\n }\n\n /**\n * @see Interceptor#onResponseError\n * @param {Object} options\n * @param {Error} reason\n * @returns {Promise}\n */\n onResponseError(options, reason) {\n if (reason.statusCode === 451) {\n const {device} = this.webex.internal;\n const loggerMessage = [\n 'Received `HTTP 451 Unavailable For Legal Reasons`, ',\n 'discarding credentials and device registration',\n ].join('');\n\n if (device) {\n this.webex.internal.device.clear();\n }\n\n this.webex.credentials.clear();\n this.webex.logger.info(loggerMessage);\n }\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,sBAJ7C;AACA;AACA;AAIA;AACA;AACA;AAFA,IAGqBC,kBAAkB,GAAAC,OAAA,CAAAjB,OAAA,0BAAAkB,YAAA;EAAA,IAAAC,UAAA,CAAAnB,OAAA,EAAAgB,kBAAA,EAAAE,YAAA;EAAA,IAAAE,MAAA,GAAA3B,YAAA,CAAAuB,kBAAA;EAAA,SAAAA,mBAAA;IAAA,IAAAK,gBAAA,CAAArB,OAAA,QAAAgB,kBAAA;IAAA,OAAAI,MAAA,CAAAd,KAAA,OAAAD,SAAA;EAAA;EAAA,IAAAiB,aAAA,CAAAtB,OAAA,EAAAgB,kBAAA;IAAAO,GAAA;IAAAC,KAAA;IASrC;AACF;AACA;AACA;AACA;AACA;IACE,SAAAC,gBAAgBC,OAAO,EAAEC,MAAM,EAAE;MAC/B,IAAIA,MAAM,CAACC,UAAU,KAAK,GAAG,EAAE;QAC7B,IAAOC,MAAM,GAAI,IAAI,CAACC,KAAK,CAACC,QAAQ,CAA7BF,MAAM;QACb,IAAMG,aAAa,GAAG,CACpB,qDAAqD,EACrD,gDAAgD,CACjD,CAACC,IAAI,CAAC,EAAE,CAAC;QAEV,IAAIJ,MAAM,EAAE;UACV,IAAI,CAACC,KAAK,CAACC,QAAQ,CAACF,MAAM,CAACK,KAAK,CAAC,CAAC;QACpC;QAEA,IAAI,CAACJ,KAAK,CAACK,WAAW,CAACD,KAAK,CAAC,CAAC;QAC9B,IAAI,CAACJ,KAAK,CAACM,MAAM,CAACC,IAAI,CAACL,aAAa,CAAC;MACvC;MAEA,OAAOM,QAAA,CAAAtC,OAAA,CAAQuC,MAAM,CAACZ,MAAM,CAAC;IAC/B;EAAC;IAAAJ,GAAA;IAAAC,KAAA;IA/BD;AACF;AACA;IACE,SAAAgB,OAAA,EAAgB;MACd;MACA,OAAO,IAAIxB,kBAAkB,CAAC;QAACc,KAAK,EAAE;MAAI,CAAC,CAAC;IAC9C;EAAC;EAAA,OAAAd,kBAAA;AAAA,EAP6CyB,qBAAW"}
@@ -16,11 +16,13 @@ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime
16
16
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/getPrototypeOf"));
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
- 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; } }
19
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !_Reflect$construct) return false; if (_Reflect$construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(_Reflect$construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } /*!
20
+ * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
21
+ */
20
22
  /**
21
23
  * @class
22
24
  */
23
- var NetworkTimingInterceptor = /*#__PURE__*/function (_Interceptor) {
25
+ var NetworkTimingInterceptor = exports.default = /*#__PURE__*/function (_Interceptor) {
24
26
  (0, _inherits2.default)(NetworkTimingInterceptor, _Interceptor);
25
27
  var _super = _createSuper(NetworkTimingInterceptor);
26
28
  function NetworkTimingInterceptor() {
@@ -79,5 +81,4 @@ var NetworkTimingInterceptor = /*#__PURE__*/function (_Interceptor) {
79
81
  }]);
80
82
  return NetworkTimingInterceptor;
81
83
  }(_httpCore.Interceptor);
82
- exports.default = NetworkTimingInterceptor;
83
84
  //# sourceMappingURL=network-timing.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["NetworkTimingInterceptor","options","$timings","networkStart","response","networkEnd","reason","reject","Interceptor"],"sources":["network-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 NetworkTimingInterceptor extends Interceptor {\n /**\n * @param {Object} options\n * @returns {NetworkTimingInterceptor}\n */\n static create(options) {\n return new NetworkTimingInterceptor(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.networkStart = Date.now();\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 options.$timings.networkEnd = Date.now();\n\n return 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.networkEnd = Date.now();\n\n return Promise.reject(reason);\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAIA;AAA6C;AAAA;AAE7C;AACA;AACA;AAFA,IAGqBA,wBAAwB;EAAA;EAAA;EAAA;IAAA;IAAA;EAAA;EAAA;IAAA;IAAA;IAS3C;AACF;AACA;AACA;AACA;IACE,mBAAUC,OAAO,EAAE;MACjBA,OAAO,CAACC,QAAQ,GAAGD,OAAO,CAACC,QAAQ,IAAI,CAAC,CAAC;MACzCD,OAAO,CAACC,QAAQ,CAACC,YAAY,GAAG,mBAAU;MAE1C,OAAOF,OAAO;IAChB;;IAEA;AACF;AACA;AACA;AACA;AACA;EALE;IAAA;IAAA,OAMA,oBAAWA,OAAO,EAAEG,QAAQ,EAAE;MAC5BH,OAAO,CAACC,QAAQ,CAACG,UAAU,GAAG,mBAAU;MAExC,OAAOD,QAAQ;IACjB;;IAEA;AACF;AACA;AACA;AACA;AACA;EALE;IAAA;IAAA,OAMA,yBAAgBH,OAAO,EAAEK,MAAM,EAAE;MAC/BL,OAAO,CAACC,QAAQ,CAACG,UAAU,GAAG,mBAAU;MAExC,OAAO,iBAAQE,MAAM,CAACD,MAAM,CAAC;IAC/B;EAAC;IAAA;IAAA;IA1CD;AACF;AACA;AACA;IACE,gBAAcL,OAAO,EAAE;MACrB,OAAO,IAAID,wBAAwB,CAAC,IAAI,EAAEC,OAAO,CAAC;IACpD;EAAC;EAAA;AAAA,EAPmDO,qBAAW;AAAA"}
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","NetworkTimingInterceptor","exports","_Interceptor","_inherits2","_super","_classCallCheck2","_createClass2","key","value","onRequest","options","$timings","networkStart","_now","onResponse","response","networkEnd","onResponseError","reason","_promise","reject","create","Interceptor"],"sources":["network-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 NetworkTimingInterceptor extends Interceptor {\n /**\n * @param {Object} options\n * @returns {NetworkTimingInterceptor}\n */\n static create(options) {\n return new NetworkTimingInterceptor(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.networkStart = Date.now();\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 options.$timings.networkEnd = Date.now();\n\n return 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.networkEnd = 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,sBAJ7C;AACA;AACA;AAIA;AACA;AACA;AAFA,IAGqBC,wBAAwB,GAAAC,OAAA,CAAAjB,OAAA,0BAAAkB,YAAA;EAAA,IAAAC,UAAA,CAAAnB,OAAA,EAAAgB,wBAAA,EAAAE,YAAA;EAAA,IAAAE,MAAA,GAAA3B,YAAA,CAAAuB,wBAAA;EAAA,SAAAA,yBAAA;IAAA,IAAAK,gBAAA,CAAArB,OAAA,QAAAgB,wBAAA;IAAA,OAAAI,MAAA,CAAAd,KAAA,OAAAD,SAAA;EAAA;EAAA,IAAAiB,aAAA,CAAAtB,OAAA,EAAAgB,wBAAA;IAAAO,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,CAAA7B,OAAA,EAAS,CAAC;MAE1C,OAAO0B,OAAO;IAChB;;IAEA;AACF;AACA;AACA;AACA;AACA;EALE;IAAAH,GAAA;IAAAC,KAAA,EAMA,SAAAM,WAAWJ,OAAO,EAAEK,QAAQ,EAAE;MAC5BL,OAAO,CAACC,QAAQ,CAACK,UAAU,GAAG,IAAAH,IAAA,CAAA7B,OAAA,EAAS,CAAC;MAExC,OAAO+B,QAAQ;IACjB;;IAEA;AACF;AACA;AACA;AACA;AACA;EALE;IAAAR,GAAA;IAAAC,KAAA,EAMA,SAAAS,gBAAgBP,OAAO,EAAEQ,MAAM,EAAE;MAC/BR,OAAO,CAACC,QAAQ,CAACK,UAAU,GAAG,IAAAH,IAAA,CAAA7B,OAAA,EAAS,CAAC;MAExC,OAAOmC,QAAA,CAAAnC,OAAA,CAAQoC,MAAM,CAACF,MAAM,CAAC;IAC/B;EAAC;IAAAX,GAAA;IAAAC,KAAA;IA1CD;AACF;AACA;AACA;IACE,SAAAa,OAAcX,OAAO,EAAE;MACrB,OAAO,IAAIV,wBAAwB,CAAC,IAAI,EAAEU,OAAO,CAAC;IACpD;EAAC;EAAA,OAAAV,wBAAA;AAAA,EAPmDsB,qBAAW"}
@@ -15,11 +15,13 @@ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime
15
15
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/getPrototypeOf"));
16
16
  var _httpCore = require("@webex/http-core");
17
17
  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); }; }
18
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !_Reflect$construct) return false; if (_Reflect$construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(_Reflect$construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
18
+ 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; } } /*!
19
+ * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
20
+ */
19
21
  /**
20
22
  * @class
21
23
  */
22
- var PayloadTransformerInterceptor = /*#__PURE__*/function (_Interceptor) {
24
+ var PayloadTransformerInterceptor = exports.default = /*#__PURE__*/function (_Interceptor) {
23
25
  (0, _inherits2.default)(PayloadTransformerInterceptor, _Interceptor);
24
26
  var _super = _createSuper(PayloadTransformerInterceptor);
25
27
  function PayloadTransformerInterceptor() {
@@ -84,5 +86,4 @@ var PayloadTransformerInterceptor = /*#__PURE__*/function (_Interceptor) {
84
86
  }]);
85
87
  return PayloadTransformerInterceptor;
86
88
  }(_httpCore.Interceptor);
87
- exports.default = PayloadTransformerInterceptor;
88
89
  //# sourceMappingURL=payload-transformer.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["PayloadTransformerInterceptor","options","noTransform","webex","transform","response","disableTransform","reason","then","r","reject","Interceptor"],"sources":["payload-transformer.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 PayloadTransformerInterceptor extends Interceptor {\n /**\n * @param {Object} options\n * @returns {PayloadTransformerInterceptor}\n */\n static create() {\n return new PayloadTransformerInterceptor({webex: this});\n }\n\n /**\n * @see Interceptor#onRequest\n * @param {Object} options\n * @returns {Object}\n */\n onRequest(options) {\n if (options.noTransform) {\n return options;\n }\n\n return this.webex.transform('outbound', 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 if (options.disableTransform) {\n return response;\n }\n\n return this.webex.transform('inbound', 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 return this.webex.transform('inbound', reason).then((r) => Promise.reject(r || reason));\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;AAIA;AAA6C;AAAA;AAE7C;AACA;AACA;AAFA,IAGqBA,6BAA6B;EAAA;EAAA;EAAA;IAAA;IAAA;EAAA;EAAA;IAAA;IAAA;IAShD;AACF;AACA;AACA;AACA;IACE,mBAAUC,OAAO,EAAE;MACjB,IAAIA,OAAO,CAACC,WAAW,EAAE;QACvB,OAAOD,OAAO;MAChB;MAEA,OAAO,IAAI,CAACE,KAAK,CAACC,SAAS,CAAC,UAAU,EAAEH,OAAO,CAAC;IAClD;;IAEA;AACF;AACA;AACA;AACA;AACA;EALE;IAAA;IAAA,OAMA,oBAAWA,OAAO,EAAEI,QAAQ,EAAE;MAC5B,IAAIJ,OAAO,CAACK,gBAAgB,EAAE;QAC5B,OAAOD,QAAQ;MACjB;MAEA,OAAO,IAAI,CAACF,KAAK,CAACC,SAAS,CAAC,SAAS,EAAEC,QAAQ,CAAC;IAClD;;IAEA;AACF;AACA;AACA;AACA;AACA;EALE;IAAA;IAAA,OAMA,yBAAgBJ,OAAO,EAAEM,MAAM,EAAE;MAC/B,OAAO,IAAI,CAACJ,KAAK,CAACC,SAAS,CAAC,SAAS,EAAEG,MAAM,CAAC,CAACC,IAAI,CAAC,UAACC,CAAC;QAAA,OAAK,iBAAQC,MAAM,CAACD,CAAC,IAAIF,MAAM,CAAC;MAAA,EAAC;IACzF;EAAC;IAAA;IAAA;IA3CD;AACF;AACA;AACA;IACE,kBAAgB;MACd,OAAO,IAAIP,6BAA6B,CAAC;QAACG,KAAK,EAAE;MAAI,CAAC,CAAC;IACzD;EAAC;EAAA;AAAA,EAPwDQ,qBAAW;AAAA"}
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","PayloadTransformerInterceptor","exports","_Interceptor","_inherits2","_super","_classCallCheck2","_createClass2","key","value","onRequest","options","noTransform","webex","transform","onResponse","response","disableTransform","onResponseError","reason","then","r","_promise","reject","create","Interceptor"],"sources":["payload-transformer.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 PayloadTransformerInterceptor extends Interceptor {\n /**\n * @param {Object} options\n * @returns {PayloadTransformerInterceptor}\n */\n static create() {\n return new PayloadTransformerInterceptor({webex: this});\n }\n\n /**\n * @see Interceptor#onRequest\n * @param {Object} options\n * @returns {Object}\n */\n onRequest(options) {\n if (options.noTransform) {\n return options;\n }\n\n return this.webex.transform('outbound', 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 if (options.disableTransform) {\n return response;\n }\n\n return this.webex.transform('inbound', 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 return this.webex.transform('inbound', reason).then((r) => Promise.reject(r || 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,sBAJ7C;AACA;AACA;AAIA;AACA;AACA;AAFA,IAGqBC,6BAA6B,GAAAC,OAAA,CAAAjB,OAAA,0BAAAkB,YAAA;EAAA,IAAAC,UAAA,CAAAnB,OAAA,EAAAgB,6BAAA,EAAAE,YAAA;EAAA,IAAAE,MAAA,GAAA3B,YAAA,CAAAuB,6BAAA;EAAA,SAAAA,8BAAA;IAAA,IAAAK,gBAAA,CAAArB,OAAA,QAAAgB,6BAAA;IAAA,OAAAI,MAAA,CAAAd,KAAA,OAAAD,SAAA;EAAA;EAAA,IAAAiB,aAAA,CAAAtB,OAAA,EAAAgB,6BAAA;IAAAO,GAAA;IAAAC,KAAA;IAShD;AACF;AACA;AACA;AACA;IACE,SAAAC,UAAUC,OAAO,EAAE;MACjB,IAAIA,OAAO,CAACC,WAAW,EAAE;QACvB,OAAOD,OAAO;MAChB;MAEA,OAAO,IAAI,CAACE,KAAK,CAACC,SAAS,CAAC,UAAU,EAAEH,OAAO,CAAC;IAClD;;IAEA;AACF;AACA;AACA;AACA;AACA;EALE;IAAAH,GAAA;IAAAC,KAAA,EAMA,SAAAM,WAAWJ,OAAO,EAAEK,QAAQ,EAAE;MAC5B,IAAIL,OAAO,CAACM,gBAAgB,EAAE;QAC5B,OAAOD,QAAQ;MACjB;MAEA,OAAO,IAAI,CAACH,KAAK,CAACC,SAAS,CAAC,SAAS,EAAEE,QAAQ,CAAC;IAClD;;IAEA;AACF;AACA;AACA;AACA;AACA;EALE;IAAAR,GAAA;IAAAC,KAAA,EAMA,SAAAS,gBAAgBP,OAAO,EAAEQ,MAAM,EAAE;MAC/B,OAAO,IAAI,CAACN,KAAK,CAACC,SAAS,CAAC,SAAS,EAAEK,MAAM,CAAC,CAACC,IAAI,CAAC,UAACC,CAAC;QAAA,OAAKC,QAAA,CAAArC,OAAA,CAAQsC,MAAM,CAACF,CAAC,IAAIF,MAAM,CAAC;MAAA,EAAC;IACzF;EAAC;IAAAX,GAAA;IAAAC,KAAA;IA3CD;AACF;AACA;AACA;IACE,SAAAe,OAAA,EAAgB;MACd,OAAO,IAAIvB,6BAA6B,CAAC;QAACY,KAAK,EAAE;MAAI,CAAC,CAAC;IACzD;EAAC;EAAA,OAAAZ,6BAAA;AAAA,EAPwDwB,qBAAW"}
@@ -18,7 +18,9 @@ var _map = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/map"))
18
18
  var _promise = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/promise"));
19
19
  var _httpCore = require("@webex/http-core");
20
20
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = _Reflect$construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
21
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !_Reflect$construct) return false; if (_Reflect$construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(_Reflect$construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
21
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !_Reflect$construct) return false; if (_Reflect$construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(_Reflect$construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } /*!
22
+ * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
23
+ */
22
24
  // contains the system time in milliseconds at which the retry after associated with a 429 expires
23
25
  // mapped by the API name, e.g.: idbroker.webex.com/doStuff would be mapped as 'doStuff'
24
26
  var rateLimitExpiryTime = new _weakMap.default();
@@ -29,7 +31,7 @@ var idBrokerRegex = /.*(idbroker|identity)(bts)?.ciscospark.com\/([^/]+)/;
29
31
  /**
30
32
  * @class
31
33
  */
32
- var RateLimitInterceptor = /*#__PURE__*/function (_Interceptor) {
34
+ var RateLimitInterceptor = exports.default = /*#__PURE__*/function (_Interceptor) {
33
35
  (0, _inherits2.default)(RateLimitInterceptor, _Interceptor);
34
36
  var _super = _createSuper(RateLimitInterceptor);
35
37
  /**
@@ -196,5 +198,4 @@ var RateLimitInterceptor = /*#__PURE__*/function (_Interceptor) {
196
198
  }]);
197
199
  return RateLimitInterceptor;
198
200
  }(_httpCore.Interceptor);
199
- exports.default = RateLimitInterceptor;
200
201
  //# sourceMappingURL=rate-limit.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["rateLimitExpiryTime","idBrokerRegex","RateLimitInterceptor","args","set","options","isRateLimited","uri","reject","Error","resolve","reason","statusCode","includes","setRateLimitExpiry","extractRetryAfterTime","milliMultiplier","retryAfter","headers","apiName","getApiName","currTimeMilli","Date","getTime","expiry","dict","get","expiryTime","undefined","results","match","getRateLimitStatus","webex","Interceptor"],"sources":["rate-limit.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport {Interceptor} from '@webex/http-core';\n\n// contains the system time in milliseconds at which the retry after associated with a 429 expires\n// mapped by the API name, e.g.: idbroker.webex.com/doStuff would be mapped as 'doStuff'\nconst rateLimitExpiryTime = new WeakMap();\n\n// extracts the common identity API being called\nconst idBrokerRegex = /.*(idbroker|identity)(bts)?.ciscospark.com\\/([^/]+)/;\n\n/**\n * @class\n */\nexport default class RateLimitInterceptor extends Interceptor {\n /**\n * @returns {RateLimitInterceptor}\n */\n static create() {\n return new RateLimitInterceptor({webex: this});\n }\n\n /**\n * constructor\n * @param {mixed} args\n * @returns {Exception}\n */\n constructor(...args) {\n super(...args);\n rateLimitExpiryTime.set(this, new Map());\n }\n\n /**\n * @see {@link Interceptor#onRequest}\n * @param {Object} options\n * @returns {Object}\n */\n onRequest(options) {\n if (this.isRateLimited(options.uri)) {\n return Promise.reject(new Error(`API rate limited ${options.uri}`));\n }\n\n return Promise.resolve(options);\n }\n\n /**\n * @see {@link Interceptor#onResponseError}\n * @param {Object} options\n * @param {Error} reason\n * @returns {Object}\n */\n onResponseError(options, reason) {\n if (\n reason.statusCode === 429 &&\n (options.uri.includes('idbroker') || options.uri.includes('identity'))\n ) {\n // set the retry after in the map, setting to milliseconds\n this.setRateLimitExpiry(options.uri, this.extractRetryAfterTime(options));\n }\n\n return Promise.reject(reason);\n }\n\n /**\n * @param {object} options associated with the request\n * @returns {number} retry after time in milliseconds\n */\n extractRetryAfterTime(options) {\n // 1S * 1K === 1MS\n const milliMultiplier = 1000;\n const retryAfter = options.headers['retry-after'] || null;\n\n // set 60 retry if no usable time defined\n if (retryAfter === null || retryAfter <= 0) {\n return 60 * milliMultiplier;\n }\n // set max to 3600 S (1 hour) if greater than 1 hour\n if (retryAfter > 3600) {\n return 3600 * milliMultiplier;\n }\n\n return retryAfter * milliMultiplier;\n }\n\n /**\n * Set the system time at which the rate limiting\n * will expire in the rateLimitExpiryTime map.\n * Assumes retryAfter is in milliseconds\n * @param {string} uri API issuing the rate limiting\n * @param {number} retryAfter milliseconds until rate limiting expires\n * @returns {bool} true is value was successfully set\n */\n setRateLimitExpiry(uri, retryAfter) {\n const apiName = this.getApiName(uri);\n\n if (!apiName) {\n return false;\n }\n\n const currTimeMilli = new Date().getTime();\n const expiry = currTimeMilli + retryAfter;\n const dict = rateLimitExpiryTime.get(this);\n\n return dict.set(apiName, expiry);\n }\n\n /**\n * returns true if the API is currently rate limited\n * @param {string} uri\n * @returns {Boolean} indicates whether or not the API is rate currently rate limited\n */\n getRateLimitStatus(uri) {\n const apiName = this.getApiName(uri);\n\n if (!apiName) {\n return false;\n }\n\n const currTimeMilli = new Date().getTime();\n const dict = rateLimitExpiryTime.get(this);\n const expiryTime = dict.get(apiName);\n\n // if no rate limit expiry has been registered in the map, return false.\n if (expiryTime === undefined) {\n return false;\n }\n\n // return true, indicating rate limiting, if the system time is less than the expiry time\n return currTimeMilli < dict.get(apiName);\n }\n\n /**\n * split the URI and returns the API name of idBroker\n * @param {string} uri\n * @returns {string}\n */\n getApiName(uri) {\n if (!uri) {\n return null;\n }\n\n const results = uri.match(idBrokerRegex);\n\n if (!results) {\n return null;\n }\n\n // group 0 = full match of URL, group 1 = identity or idbroker base\n // group 2 = api name\n return results[2];\n }\n\n /**\n * check URI against list of currently rate limited\n * URIs, and determines if retry-after\n * @param {String} uri pattern to check\n * @returns {bool}\n */\n isRateLimited(uri) {\n // determine if the URI is associated with a common identity API\n if (uri && (uri.includes('idbroker') || uri.includes('identity'))) {\n return this.getRateLimitStatus(uri);\n }\n\n return false;\n }\n}\n"],"mappings":"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"}
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","exports","_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"],"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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"}
@@ -14,10 +14,12 @@ var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpe
14
14
  var _inherits2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/inherits"));
15
15
  var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/possibleConstructorReturn"));
16
16
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/getPrototypeOf"));
17
- var _clone2 = _interopRequireDefault(require("lodash/clone"));
17
+ var _lodash = require("lodash");
18
18
  var _httpCore = require("@webex/http-core");
19
19
  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); }; }
20
- 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
+ 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; } } /* eslint-disable prefer-destructuring */ /*!
21
+ * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
22
+ */
21
23
  var requestHeaderName = 'cisco-no-http-redirect';
22
24
  var responseHeaderName = 'cisco-location';
23
25
  var LOCUS_REDIRECT_ERROR = 2000002;
@@ -25,7 +27,7 @@ var LOCUS_REDIRECT_ERROR = 2000002;
25
27
  /**
26
28
  * @class
27
29
  */
28
- var RedirectInterceptor = /*#__PURE__*/function (_Interceptor) {
30
+ var RedirectInterceptor = exports.default = /*#__PURE__*/function (_Interceptor) {
29
31
  (0, _inherits2.default)(RedirectInterceptor, _Interceptor);
30
32
  var _super = _createSuper(RedirectInterceptor);
31
33
  function RedirectInterceptor() {
@@ -72,7 +74,7 @@ var RedirectInterceptor = /*#__PURE__*/function (_Interceptor) {
72
74
  value: function onResponse(options, response) {
73
75
  /* eslint-disable no-else-return */
74
76
  if (response.headers && response.headers[responseHeaderName]) {
75
- options = (0, _clone2.default)(options);
77
+ options = (0, _lodash.clone)(options);
76
78
  options.uri = response.headers[responseHeaderName];
77
79
  options.$redirectCount += 1;
78
80
  if (options.$redirectCount > this.webex.config.maxAppLevelRedirects) {
@@ -80,7 +82,7 @@ var RedirectInterceptor = /*#__PURE__*/function (_Interceptor) {
80
82
  }
81
83
  return this.webex.request(options);
82
84
  } else if (response.headers && response.body && response.body.errorCode === LOCUS_REDIRECT_ERROR && response.body.location) {
83
- options = (0, _clone2.default)(options);
85
+ options = (0, _lodash.clone)(options);
84
86
  this.webex.logger.warn('redirect: url redirects needed from', options.uri);
85
87
  if (response.options && response.options.qs) {
86
88
  // for POST requests
@@ -115,5 +117,4 @@ var RedirectInterceptor = /*#__PURE__*/function (_Interceptor) {
115
117
  }]);
116
118
  return RedirectInterceptor;
117
119
  }(_httpCore.Interceptor);
118
- exports.default = RedirectInterceptor;
119
120
  //# sourceMappingURL=redirect.js.map