@webex/webex-core 3.8.0 → 3.8.1-next.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/README.md +87 -27
  2. package/dist/index.js +43 -0
  3. package/dist/index.js.map +1 -1
  4. package/dist/interceptors/redirect.js +18 -0
  5. package/dist/interceptors/redirect.js.map +1 -1
  6. package/dist/lib/batcher.js +1 -1
  7. package/dist/lib/credentials/credentials.js +1 -1
  8. package/dist/lib/credentials/token.js +1 -1
  9. package/dist/lib/services/services.js +1 -1
  10. package/dist/lib/services-v2/constants.js +17 -0
  11. package/dist/lib/services-v2/constants.js.map +1 -0
  12. package/dist/lib/services-v2/index.js +58 -0
  13. package/dist/lib/services-v2/index.js.map +1 -0
  14. package/dist/lib/services-v2/interceptors/hostmap.js +64 -0
  15. package/dist/lib/services-v2/interceptors/hostmap.js.map +1 -0
  16. package/dist/lib/services-v2/interceptors/server-error.js +77 -0
  17. package/dist/lib/services-v2/interceptors/server-error.js.map +1 -0
  18. package/dist/lib/services-v2/interceptors/service.js +137 -0
  19. package/dist/lib/services-v2/interceptors/service.js.map +1 -0
  20. package/dist/lib/services-v2/metrics.js +12 -0
  21. package/dist/lib/services-v2/metrics.js.map +1 -0
  22. package/dist/lib/services-v2/service-catalog.js +346 -0
  23. package/dist/lib/services-v2/service-catalog.js.map +1 -0
  24. package/dist/lib/services-v2/service-detail.js +94 -0
  25. package/dist/lib/services-v2/service-detail.js.map +1 -0
  26. package/dist/lib/services-v2/service-fed-ramp.js +13 -0
  27. package/dist/lib/services-v2/service-fed-ramp.js.map +1 -0
  28. package/dist/lib/services-v2/services-v2.js +985 -0
  29. package/dist/lib/services-v2/services-v2.js.map +1 -0
  30. package/dist/lib/services-v2/types.js +7 -0
  31. package/dist/lib/services-v2/types.js.map +1 -0
  32. package/dist/plugins/logger.js +1 -1
  33. package/dist/webex-core.js +2 -2
  34. package/dist/webex-core.js.map +1 -1
  35. package/package.json +13 -13
  36. package/src/index.js +10 -0
  37. package/src/interceptors/redirect.js +28 -0
  38. package/src/lib/services-v2/README.md +3 -0
  39. package/src/lib/services-v2/constants.ts +21 -0
  40. package/src/lib/services-v2/index.ts +23 -0
  41. package/src/lib/services-v2/interceptors/hostmap.js +36 -0
  42. package/src/lib/services-v2/interceptors/server-error.js +48 -0
  43. package/src/lib/services-v2/interceptors/service.js +101 -0
  44. package/src/lib/services-v2/metrics.js +4 -0
  45. package/src/lib/services-v2/service-catalog.ts +360 -0
  46. package/src/lib/services-v2/service-detail.ts +97 -0
  47. package/src/lib/services-v2/service-fed-ramp.ts +5 -0
  48. package/src/lib/services-v2/services-v2.js +988 -0
  49. package/src/lib/services-v2/types.ts +13 -0
  50. package/test/fixtures/host-catalog-v2.ts +249 -0
  51. package/test/integration/spec/services/services.js +12 -10
  52. package/test/unit/spec/interceptors/redirect.js +72 -0
  53. package/test/unit/spec/services-v2/service-catalog.ts +288 -0
  54. package/test/unit/spec/services-v2/service-detail.ts +147 -0
  55. package/test/unit/spec/services-v2/services-v2.ts +562 -0
package/README.md CHANGED
@@ -1,16 +1,6 @@
1
1
  # @webex/webex-core
2
2
 
3
- [![standard-readme compliant](https://img.shields.io/badge/readme%20style-standard-brightgreen.svg?style=flat-square)](https://github.com/RichardLitt/standard-readme)
4
-
5
- > Core library for the Cisco Webex JS SDK.
6
-
7
- Defines the plugin system, storage system, common http behaviors, credentials, services, and basic logging.
8
-
9
- - [Install](#install)
10
- - [Usage](#usage)
11
- - [Contribute](#contribute)
12
- - [Maintainers](#maintainers)
13
- - [License](#license)
3
+ Core library for the Cisco Webex JS SDK.
14
4
 
15
5
  ## Install
16
6
 
@@ -18,11 +8,43 @@ Defines the plugin system, storage system, common http behaviors, credentials, s
18
8
  npm install --save @webex/webex-core
19
9
  ```
20
10
 
21
- ## Usage
11
+ ## What it Does
12
+
13
+ The webex-core package provides the foundational architecture for the Webex JavaScript SDK, including:
14
+
15
+ - Plugin system for loading and managing SDK plugins
16
+ - Storage system for data persistence across environments
17
+ - HTTP core for common request handling
18
+ - Credentials management for token handling
19
+ - Service discovery for dynamic endpoint resolution
20
+ - Logging framework for debugging
21
+
22
+ ## Basic Usage
23
+
24
+ ```js
25
+ import WebexCore from '@webex/webex-core';
26
+
27
+ // Create a basic Webex instance
28
+ const webex = new WebexCore({
29
+ credentials: {
30
+ access_token: 'your-access-token'
31
+ }
32
+ });
33
+
34
+ // Use core functionality
35
+ webex.request({
36
+ method: 'GET',
37
+ uri: 'https://webexapis.com/v1/people/me'
38
+ }).then(response => {
39
+ console.log('User info:', response.body);
40
+ });
41
+ ```
42
+
43
+ ## Configuration
22
44
 
23
45
  ### Client Scope Requirements
24
46
 
25
- To utilize the basic functionality of the `services` plugin that is bound to the `webex-core` plugin upon initialization, the following scopes must be present in the provided client's scopes:
47
+ To utilize the basic functionality of the services plugin, the following scopes must be present in the client's scopes:
26
48
 
27
49
  - `spark:all`
28
50
 
@@ -30,44 +52,82 @@ To utilize the basic functionality of the `services` plugin that is bound to the
30
52
 
31
53
  The following environment variables are used by this plugin:
32
54
 
33
- - `HYDRA_SERVICE_URL` - Stores the public hydra api url for managing Webex resources.
34
- - `U2C_SERVICE_URL` - Stores the service catalog collecting url, typically the **U2C** service.
55
+ - `HYDRA_SERVICE_URL` - Stores the public hydra api url for managing Webex resources
56
+ - `U2C_SERVICE_URL` - Stores the service catalog collecting url, typically the U2C service
35
57
  - `SQDISCOVERY_SERVICE_URL` - Stores the URL for client region information, such as country code and timezone
36
58
 
37
- ### Configuration
59
+ ### Advanced Configuration
38
60
 
39
- The `services` plugin that is bound to the `webex-core` plugin upon initialization supports the ability to inject discovery urls via the constructor:
61
+ The services plugin supports the ability to inject discovery urls via the constructor:
40
62
 
41
63
  ```js
42
- const webex = new Webex({
64
+ const webex = new WebexCore({
43
65
  config: {
44
66
  services: {
45
- // Services that are available before catalog retrieval.
67
+ // Services that are available before catalog retrieval
46
68
  discovery: {
47
69
  hydra: 'https://api.ciscospark.com/v1',
48
70
  sqdiscovery: 'https://ds.ciscospark.com/v1/region'
49
71
  },
50
72
 
51
- // Services that have a persistant host, typically for testing.
73
+ // Services that have a persistent host, typically for testing
52
74
  override: {
53
75
  serviceName: 'https://api.service.com/v1'
54
- }
76
+ },
55
77
 
56
- // Validate domains against the allowed domains.
78
+ // Validate domains against the allowed domains
57
79
  validateDomains: true,
58
80
 
59
- // The allowed domains to validate domains against.
81
+ // The allowed domains to validate domains against
60
82
  allowedDomains: ['allowed-domain']
61
83
  }
62
84
  }
63
85
  });
64
86
  ```
65
87
 
88
+ ### Default Service URLs
89
+
66
90
  The default configuration includes the following service urls:
67
91
 
68
- - `U2C_SERVICE_URL` [ **U2C** ] - `https://u2c.wbx2.com/u2c/api/v1`
69
- - `HYDRA_SERVICE_URL` [ **Hydra** ] - `https://api.ciscospark.com/v1`
70
- - `SQDISCOVERY_SERVICE_URL` [ **SQDISCOVERY** ] - `https://ds.ciscospark.com/v1/region`
92
+ - `U2C_SERVICE_URL` [U2C] - `https://u2c.wbx2.com/u2c/api/v1`
93
+ - `HYDRA_SERVICE_URL` [Hydra] - `https://webexapis.com/v1`
94
+ - `SQDISCOVERY_SERVICE_URL` [SQDISCOVERY] - `https://ds.ciscospark.com/v1/region`
95
+
96
+ ## Plugin System
97
+
98
+ WebexCore provides a plugin architecture that allows extending functionality:
99
+
100
+ ```js
101
+ import WebexCore from '@webex/webex-core';
102
+ import MyPlugin from './my-plugin';
103
+
104
+ // Register a plugin
105
+ WebexCore.registerPlugin('myPlugin', MyPlugin);
106
+
107
+ const webex = new WebexCore();
108
+ // Plugin is now available at webex.myPlugin
109
+ ```
110
+
111
+ ## Storage System
112
+
113
+ WebexCore includes a unified storage interface:
114
+
115
+ ```js
116
+ // Configure storage adapter
117
+ const webex = new WebexCore({
118
+ config: {
119
+ storage: {
120
+ adapter: 'localStorage' // or 'memory', 'indexedDB', etc.
121
+ }
122
+ }
123
+ });
124
+
125
+ // Use storage
126
+ webex.storage.put('key', 'value');
127
+ webex.storage.get('key').then(value => console.log(value));
128
+ ```
129
+
130
+ This package is the foundation for all Webex SDK functionality and is required for most other Webex SDK packages.
71
131
 
72
132
  ## Maintainers
73
133
 
@@ -79,4 +139,4 @@ Pull requests welcome. Please see [CONTRIBUTING.md](https://github.com/webex/web
79
139
 
80
140
  ## License
81
141
 
82
- © 2016-2020 Cisco and/or its affiliates. All Rights Reserved.
142
+ © 2016-2025 Cisco and/or its affiliates. All Rights Reserved.
package/dist/index.js CHANGED
@@ -44,6 +44,12 @@ _Object$defineProperty(exports, "HostMapInterceptor", {
44
44
  return _services.HostMapInterceptor;
45
45
  }
46
46
  });
47
+ _Object$defineProperty(exports, "HostMapInterceptorV2", {
48
+ enumerable: true,
49
+ get: function get() {
50
+ return _servicesV.HostMapInterceptorV2;
51
+ }
52
+ });
47
53
  _Object$defineProperty(exports, "MemoryStoreAdapter", {
48
54
  enumerable: true,
49
55
  get: function get() {
@@ -116,12 +122,30 @@ _Object$defineProperty(exports, "ServerErrorInterceptor", {
116
122
  return _services.ServerErrorInterceptor;
117
123
  }
118
124
  });
125
+ _Object$defineProperty(exports, "ServerErrorInterceptorV2", {
126
+ enumerable: true,
127
+ get: function get() {
128
+ return _servicesV.ServerErrorInterceptorV2;
129
+ }
130
+ });
119
131
  _Object$defineProperty(exports, "ServiceCatalog", {
120
132
  enumerable: true,
121
133
  get: function get() {
122
134
  return _services.ServiceCatalog;
123
135
  }
124
136
  });
137
+ _Object$defineProperty(exports, "ServiceCatalogV2", {
138
+ enumerable: true,
139
+ get: function get() {
140
+ return _servicesV.ServiceCatalogV2;
141
+ }
142
+ });
143
+ _Object$defineProperty(exports, "ServiceDetail", {
144
+ enumerable: true,
145
+ get: function get() {
146
+ return _servicesV.ServiceDetail;
147
+ }
148
+ });
125
149
  _Object$defineProperty(exports, "ServiceHost", {
126
150
  enumerable: true,
127
151
  get: function get() {
@@ -134,6 +158,12 @@ _Object$defineProperty(exports, "ServiceInterceptor", {
134
158
  return _services.ServiceInterceptor;
135
159
  }
136
160
  });
161
+ _Object$defineProperty(exports, "ServiceInterceptorV2", {
162
+ enumerable: true,
163
+ get: function get() {
164
+ return _servicesV.ServiceInterceptorV2;
165
+ }
166
+ });
137
167
  _Object$defineProperty(exports, "ServiceRegistry", {
138
168
  enumerable: true,
139
169
  get: function get() {
@@ -158,6 +188,12 @@ _Object$defineProperty(exports, "Services", {
158
188
  return _services.Services;
159
189
  }
160
190
  });
191
+ _Object$defineProperty(exports, "ServicesV2", {
192
+ enumerable: true,
193
+ get: function get() {
194
+ return _servicesV.ServicesV2;
195
+ }
196
+ });
161
197
  _Object$defineProperty(exports, "StatelessWebexPlugin", {
162
198
  enumerable: true,
163
199
  get: function get() {
@@ -266,6 +302,12 @@ _Object$defineProperty(exports, "serviceConstants", {
266
302
  return _services.constants;
267
303
  }
268
304
  });
305
+ _Object$defineProperty(exports, "serviceConstantsV2", {
306
+ enumerable: true,
307
+ get: function get() {
308
+ return _servicesV.constants;
309
+ }
310
+ });
269
311
  _Object$defineProperty(exports, "sortScope", {
270
312
  enumerable: true,
271
313
  get: function get() {
@@ -287,6 +329,7 @@ _Object$defineProperty(exports, "webexTrackingIdSequenceNumbers", {
287
329
  require("./plugins/logger");
288
330
  var _credentials = require("./lib/credentials");
289
331
  var _services = require("./lib/services");
332
+ var _servicesV = require("./lib/services-v2");
290
333
  var _storage = require("./lib/storage");
291
334
  var _webexCore = _interopRequireWildcard(require("./webex-core"));
292
335
  var _webexHttpError = _interopRequireDefault(require("./lib/webex-http-error"));
package/dist/index.js.map CHANGED
@@ -1 +1 @@
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 HostMapInterceptor,\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 {sequenceNumbers as webexTrackingIdSequenceNumbers} from './interceptors/webex-tracking-id';\nexport {default as WebexUserAgentInterceptor} from './interceptors/webex-user-agent';\nexport {default as RateLimitInterceptor} from './interceptors/rate-limit';\nexport {default as EmbargoInterceptor} from './interceptors/embargo';\nexport {default as DefaultOptionsInterceptor} from './interceptors/default-options';\n\nexport {default as Batcher} from './lib/batcher';\nexport {default as Page} from './lib/page';\nexport {default as config} from './config';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAWAA,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,SAAA,GAAAF,OAAA;AAiBA,IAAAG,QAAA,GAAAH,OAAA;AAUA,IAAAI,UAAA,GAAAC,uBAAA,CAAAL,OAAA;AAEA,IAAAM,eAAA,GAAAC,sBAAA,CAAAP,OAAA;AACA,IAAAQ,qBAAA,GAAAD,sBAAA,CAAAP,OAAA;AACA,IAAAS,YAAA,GAAAF,sBAAA,CAAAP,OAAA;AACA,IAAAU,KAAA,GAAAH,sBAAA,CAAAP,OAAA;AACA,IAAAW,cAAA,GAAAJ,sBAAA,CAAAP,OAAA;AACA,IAAAY,mBAAA,GAAAL,sBAAA,CAAAP,OAAA;AACA,IAAAa,SAAA,GAAAN,sBAAA,CAAAP,OAAA;AACA,IAAAc,eAAA,GAAAP,sBAAA,CAAAP,OAAA;AACA,IAAAe,aAAA,GAAAR,sBAAA,CAAAP,OAAA;AACA,IAAAgB,cAAA,GAAAT,sBAAA,CAAAP,OAAA;AACA,IAAAiB,cAAA,GAAAV,sBAAA,CAAAP,OAAA;AACA,IAAAkB,UAAA,GAAAX,sBAAA,CAAAP,OAAA;AACA,IAAAmB,gBAAA,GAAAd,uBAAA,CAAAL,OAAA;AAEA,IAAAoB,eAAA,GAAAb,sBAAA,CAAAP,OAAA;AACA,IAAAqB,UAAA,GAAAd,sBAAA,CAAAP,OAAA;AACA,IAAAsB,QAAA,GAAAf,sBAAA,CAAAP,OAAA;AACA,IAAAuB,eAAA,GAAAhB,sBAAA,CAAAP,OAAA;AAEA,IAAAwB,QAAA,GAAAjB,sBAAA,CAAAP,OAAA;AACA,IAAAyB,KAAA,GAAAlB,sBAAA,CAAAP,OAAA;AACA,IAAA0B,OAAA,GAAAnB,sBAAA,CAAAP,OAAA;AAA2C,SAAA2B,yBAAAC,CAAA,6BAAAC,QAAA,mBAAAC,CAAA,OAAAD,QAAA,IAAAE,CAAA,OAAAF,QAAA,YAAAF,wBAAA,YAAAA,yBAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAvB,wBAAAuB,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,gBAAAK,OAAA,CAAAL,CAAA,0BAAAA,CAAA,WAAAM,OAAA,EAAAN,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAI,GAAA,CAAAP,CAAA,UAAAG,CAAA,CAAAK,GAAA,CAAAR,CAAA,OAAAS,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,sBAAA,IAAAC,gCAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,IAAAC,MAAA,CAAAC,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAlB,CAAA,EAAAc,CAAA,SAAAK,CAAA,GAAAR,CAAA,GAAAE,gCAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAK,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,sBAAA,CAAAH,CAAA,EAAAK,CAAA,EAAAK,CAAA,IAAAV,CAAA,CAAAK,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAL,CAAA,CAAAH,OAAA,GAAAN,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAiB,GAAA,CAAApB,CAAA,EAAAS,CAAA,GAAAA,CAAA"}
1
+ {"version":3,"names":["require","_credentials","_services","_servicesV","_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 HostMapInterceptor,\n} from './lib/services';\n\nexport {\n constants as serviceConstantsV2,\n ServiceCatalogV2,\n ServiceInterceptorV2,\n ServerErrorInterceptorV2,\n ServicesV2,\n ServiceDetail,\n HostMapInterceptorV2,\n} from './lib/services-v2';\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 {sequenceNumbers as webexTrackingIdSequenceNumbers} from './interceptors/webex-tracking-id';\nexport {default as WebexUserAgentInterceptor} from './interceptors/webex-user-agent';\nexport {default as RateLimitInterceptor} from './interceptors/rate-limit';\nexport {default as EmbargoInterceptor} from './interceptors/embargo';\nexport {default as DefaultOptionsInterceptor} from './interceptors/default-options';\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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"}
@@ -23,6 +23,7 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !_R
23
23
  var requestHeaderName = 'cisco-no-http-redirect';
24
24
  var responseHeaderName = 'cisco-location';
25
25
  var LOCUS_REDIRECT_ERROR = 2000002;
26
+ var APPAPI_REDIRECT_ERROR = 404100;
26
27
 
27
28
  /**
28
29
  * @class
@@ -98,6 +99,23 @@ var RedirectInterceptor = exports.default = /*#__PURE__*/function (_Interceptor)
98
99
  return _promise.default.reject(new Error('Maximum redirects exceeded'));
99
100
  }
100
101
  return this.webex.request(options);
102
+ } else if (response.headers && response.body && response.body.code === APPAPI_REDIRECT_ERROR && response.body.data && response.body.data.siteFullUrl) {
103
+ options = (0, _lodash.clone)(options);
104
+ this.webex.logger.warn('redirect: url redirects needed from', options.uri);
105
+ if (response.options && response.options.qs) {
106
+ // for POST requests
107
+ var _newUrl = response.body.data.siteFullUrl.split('?');
108
+ options.uri = _newUrl[0]; // params are already present in the qs
109
+ } else {
110
+ // for GET requests
111
+ options.uri = options.uri.replace(/(?<=https:\/\/)[^/]+/, response.body.data.siteFullUrl);
112
+ }
113
+ this.webex.logger.warn('redirect: url redirects needed to', options.uri);
114
+ options.$redirectCount += 1;
115
+ if (options.$redirectCount > this.webex.config.maxLocusRedirects) {
116
+ return _promise.default.reject(new Error('Maximum redirects exceeded'));
117
+ }
118
+ return this.webex.request(options);
101
119
  }
102
120
  /* eslint-enable no-else-return */
103
121
 
@@ -1 +1 @@
1
- {"version":3,"names":["_lodash","require","_httpCore","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","default","result","NewTarget","constructor","_Reflect$construct","arguments","apply","_possibleConstructorReturn2","Reflect","sham","Proxy","Boolean","prototype","valueOf","call","e","requestHeaderName","responseHeaderName","LOCUS_REDIRECT_ERROR","RedirectInterceptor","exports","_Interceptor","_inherits2","_super","_classCallCheck2","_createClass2","key","value","onRequest","options","uri","includes","webex","config","credentials","samlUrl","tokenUrl","authorizeUrl","headers","_deleteProperty","$redirectCount","onResponse","response","clone","maxAppLevelRedirects","_promise","reject","Error","request","body","errorCode","location","logger","warn","qs","newUrl","split","maxLocusRedirects","create","Interceptor"],"sources":["redirect.js"],"sourcesContent":["/* eslint-disable prefer-destructuring */\n\n/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport {clone} from 'lodash';\nimport {Interceptor} from '@webex/http-core';\n\nconst requestHeaderName = 'cisco-no-http-redirect';\nconst responseHeaderName = 'cisco-location';\nconst LOCUS_REDIRECT_ERROR = 2000002;\n\n/**\n * @class\n */\nexport default class RedirectInterceptor extends Interceptor {\n /**\n * @returns {RedirectInterceptor}\n */\n static create() {\n return new RedirectInterceptor({webex: this});\n }\n\n /**\n * @see Interceptor#onRequest\n * @param {Object} options\n * @returns {Object}\n */\n onRequest(options) {\n if (options && options.uri && typeof options.uri === 'string') {\n if (\n options.uri.includes('https://idbroker') ||\n options.uri.includes(this.webex.config.credentials.samlUrl) ||\n options.uri.includes(this.webex.config.credentials.tokenUrl) ||\n options.uri.includes(this.webex.config.credentials.authorizeUrl)\n ) {\n return options;\n }\n }\n\n // If cisco-no-http-redirect is already set, don't overwrite it\n if (requestHeaderName in options.headers) {\n // If cisco-no-http-redirect is set to null, false, or undefined, delete\n // it to prevent a CORS preflight.\n if (!options.headers[requestHeaderName]) {\n Reflect.deleteProperty(options.headers, requestHeaderName);\n }\n\n return options;\n }\n options.headers[requestHeaderName] = true;\n options.$redirectCount = options.$redirectCount || 0;\n\n return options;\n }\n\n /**\n * @see Interceptor#onResponse\n * @param {Object} options\n * @param {HttpResponse} response\n * @returns {Object}\n */\n onResponse(options, response) {\n /* eslint-disable no-else-return */\n if (response.headers && response.headers[responseHeaderName]) {\n options = clone(options);\n options.uri = response.headers[responseHeaderName];\n options.$redirectCount += 1;\n if (options.$redirectCount > this.webex.config.maxAppLevelRedirects) {\n return Promise.reject(new Error('Maximum redirects exceeded'));\n }\n\n return this.webex.request(options);\n } else if (\n response.headers &&\n response.body &&\n response.body.errorCode === LOCUS_REDIRECT_ERROR &&\n response.body.location\n ) {\n options = clone(options);\n\n this.webex.logger.warn('redirect: url redirects needed from', options.uri);\n if (response.options && response.options.qs) {\n // for POST requests\n const newUrl = response.body.location.split('?');\n\n options.uri = newUrl[0]; // params are already present in the qs\n } else {\n // for GET requests\n options.uri = response.body.location;\n }\n\n this.webex.logger.warn('redirect: url redirects needed to', options.uri);\n options.$redirectCount += 1;\n if (options.$redirectCount > this.webex.config.maxLocusRedirects) {\n return Promise.reject(new Error('Maximum redirects exceeded'));\n }\n\n return this.webex.request(options);\n }\n /* eslint-enable no-else-return */\n\n return response;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAMA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AAA6C,SAAAE,aAAAC,OAAA,QAAAC,yBAAA,GAAAC,yBAAA,oBAAAC,qBAAA,QAAAC,KAAA,OAAAC,gBAAA,CAAAC,OAAA,EAAAN,OAAA,GAAAO,MAAA,MAAAN,yBAAA,QAAAO,SAAA,OAAAH,gBAAA,CAAAC,OAAA,QAAAG,WAAA,EAAAF,MAAA,GAAAG,kBAAA,CAAAN,KAAA,EAAAO,SAAA,EAAAH,SAAA,YAAAD,MAAA,GAAAH,KAAA,CAAAQ,KAAA,OAAAD,SAAA,gBAAAE,2BAAA,CAAAP,OAAA,QAAAC,MAAA;AAAA,SAAAL,0BAAA,eAAAY,OAAA,qBAAAJ,kBAAA,oBAAAA,kBAAA,CAAAK,IAAA,2BAAAC,KAAA,oCAAAC,OAAA,CAAAC,SAAA,CAAAC,OAAA,CAAAC,IAAA,CAAAV,kBAAA,CAAAO,OAAA,8CAAAI,CAAA,sBAP7C,0CAEA;AACA;AACA;AAKA,IAAMC,iBAAiB,GAAG,wBAAwB;AAClD,IAAMC,kBAAkB,GAAG,gBAAgB;AAC3C,IAAMC,oBAAoB,GAAG,OAAO;;AAEpC;AACA;AACA;AAFA,IAGqBC,mBAAmB,GAAAC,OAAA,CAAApB,OAAA,0BAAAqB,YAAA;EAAA,IAAAC,UAAA,CAAAtB,OAAA,EAAAmB,mBAAA,EAAAE,YAAA;EAAA,IAAAE,MAAA,GAAA9B,YAAA,CAAA0B,mBAAA;EAAA,SAAAA,oBAAA;IAAA,IAAAK,gBAAA,CAAAxB,OAAA,QAAAmB,mBAAA;IAAA,OAAAI,MAAA,CAAAjB,KAAA,OAAAD,SAAA;EAAA;EAAA,IAAAoB,aAAA,CAAAzB,OAAA,EAAAmB,mBAAA;IAAAO,GAAA;IAAAC,KAAA;IAQtC;AACF;AACA;AACA;AACA;IACE,SAAAC,UAAUC,OAAO,EAAE;MACjB,IAAIA,OAAO,IAAIA,OAAO,CAACC,GAAG,IAAI,OAAOD,OAAO,CAACC,GAAG,KAAK,QAAQ,EAAE;QAC7D,IACED,OAAO,CAACC,GAAG,CAACC,QAAQ,CAAC,kBAAkB,CAAC,IACxCF,OAAO,CAACC,GAAG,CAACC,QAAQ,CAAC,IAAI,CAACC,KAAK,CAACC,MAAM,CAACC,WAAW,CAACC,OAAO,CAAC,IAC3DN,OAAO,CAACC,GAAG,CAACC,QAAQ,CAAC,IAAI,CAACC,KAAK,CAACC,MAAM,CAACC,WAAW,CAACE,QAAQ,CAAC,IAC5DP,OAAO,CAACC,GAAG,CAACC,QAAQ,CAAC,IAAI,CAACC,KAAK,CAACC,MAAM,CAACC,WAAW,CAACG,YAAY,CAAC,EAChE;UACA,OAAOR,OAAO;QAChB;MACF;;MAEA;MACA,IAAIb,iBAAiB,IAAIa,OAAO,CAACS,OAAO,EAAE;QACxC;QACA;QACA,IAAI,CAACT,OAAO,CAACS,OAAO,CAACtB,iBAAiB,CAAC,EAAE;UACvC,IAAAuB,eAAA,CAAAvC,OAAA,EAAuB6B,OAAO,CAACS,OAAO,EAAEtB,iBAAiB,CAAC;QAC5D;QAEA,OAAOa,OAAO;MAChB;MACAA,OAAO,CAACS,OAAO,CAACtB,iBAAiB,CAAC,GAAG,IAAI;MACzCa,OAAO,CAACW,cAAc,GAAGX,OAAO,CAACW,cAAc,IAAI,CAAC;MAEpD,OAAOX,OAAO;IAChB;;IAEA;AACF;AACA;AACA;AACA;AACA;EALE;IAAAH,GAAA;IAAAC,KAAA,EAMA,SAAAc,WAAWZ,OAAO,EAAEa,QAAQ,EAAE;MAC5B;MACA,IAAIA,QAAQ,CAACJ,OAAO,IAAII,QAAQ,CAACJ,OAAO,CAACrB,kBAAkB,CAAC,EAAE;QAC5DY,OAAO,GAAG,IAAAc,aAAK,EAACd,OAAO,CAAC;QACxBA,OAAO,CAACC,GAAG,GAAGY,QAAQ,CAACJ,OAAO,CAACrB,kBAAkB,CAAC;QAClDY,OAAO,CAACW,cAAc,IAAI,CAAC;QAC3B,IAAIX,OAAO,CAACW,cAAc,GAAG,IAAI,CAACR,KAAK,CAACC,MAAM,CAACW,oBAAoB,EAAE;UACnE,OAAOC,QAAA,CAAA7C,OAAA,CAAQ8C,MAAM,CAAC,IAAIC,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAChE;QAEA,OAAO,IAAI,CAACf,KAAK,CAACgB,OAAO,CAACnB,OAAO,CAAC;MACpC,CAAC,MAAM,IACLa,QAAQ,CAACJ,OAAO,IAChBI,QAAQ,CAACO,IAAI,IACbP,QAAQ,CAACO,IAAI,CAACC,SAAS,KAAKhC,oBAAoB,IAChDwB,QAAQ,CAACO,IAAI,CAACE,QAAQ,EACtB;QACAtB,OAAO,GAAG,IAAAc,aAAK,EAACd,OAAO,CAAC;QAExB,IAAI,CAACG,KAAK,CAACoB,MAAM,CAACC,IAAI,CAAC,qCAAqC,EAAExB,OAAO,CAACC,GAAG,CAAC;QAC1E,IAAIY,QAAQ,CAACb,OAAO,IAAIa,QAAQ,CAACb,OAAO,CAACyB,EAAE,EAAE;UAC3C;UACA,IAAMC,MAAM,GAAGb,QAAQ,CAACO,IAAI,CAACE,QAAQ,CAACK,KAAK,CAAC,GAAG,CAAC;UAEhD3B,OAAO,CAACC,GAAG,GAAGyB,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3B,CAAC,MAAM;UACL;UACA1B,OAAO,CAACC,GAAG,GAAGY,QAAQ,CAACO,IAAI,CAACE,QAAQ;QACtC;QAEA,IAAI,CAACnB,KAAK,CAACoB,MAAM,CAACC,IAAI,CAAC,mCAAmC,EAAExB,OAAO,CAACC,GAAG,CAAC;QACxED,OAAO,CAACW,cAAc,IAAI,CAAC;QAC3B,IAAIX,OAAO,CAACW,cAAc,GAAG,IAAI,CAACR,KAAK,CAACC,MAAM,CAACwB,iBAAiB,EAAE;UAChE,OAAOZ,QAAA,CAAA7C,OAAA,CAAQ8C,MAAM,CAAC,IAAIC,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAChE;QAEA,OAAO,IAAI,CAACf,KAAK,CAACgB,OAAO,CAACnB,OAAO,CAAC;MACpC;MACA;;MAEA,OAAOa,QAAQ;IACjB;EAAC;IAAAhB,GAAA;IAAAC,KAAA;IAvFD;AACF;AACA;IACE,SAAA+B,OAAA,EAAgB;MACd,OAAO,IAAIvC,mBAAmB,CAAC;QAACa,KAAK,EAAE;MAAI,CAAC,CAAC;IAC/C;EAAC;EAAA,OAAAb,mBAAA;AAAA,EAN8CwC,qBAAW"}
1
+ {"version":3,"names":["_lodash","require","_httpCore","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","default","result","NewTarget","constructor","_Reflect$construct","arguments","apply","_possibleConstructorReturn2","Reflect","sham","Proxy","Boolean","prototype","valueOf","call","e","requestHeaderName","responseHeaderName","LOCUS_REDIRECT_ERROR","APPAPI_REDIRECT_ERROR","RedirectInterceptor","exports","_Interceptor","_inherits2","_super","_classCallCheck2","_createClass2","key","value","onRequest","options","uri","includes","webex","config","credentials","samlUrl","tokenUrl","authorizeUrl","headers","_deleteProperty","$redirectCount","onResponse","response","clone","maxAppLevelRedirects","_promise","reject","Error","request","body","errorCode","location","logger","warn","qs","newUrl","split","maxLocusRedirects","code","data","siteFullUrl","replace","create","Interceptor"],"sources":["redirect.js"],"sourcesContent":["/* eslint-disable prefer-destructuring */\n\n/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport {clone} from 'lodash';\nimport {Interceptor} from '@webex/http-core';\n\nconst requestHeaderName = 'cisco-no-http-redirect';\nconst responseHeaderName = 'cisco-location';\nconst LOCUS_REDIRECT_ERROR = 2000002;\nconst APPAPI_REDIRECT_ERROR = 404100;\n\n/**\n * @class\n */\nexport default class RedirectInterceptor extends Interceptor {\n /**\n * @returns {RedirectInterceptor}\n */\n static create() {\n return new RedirectInterceptor({webex: this});\n }\n\n /**\n * @see Interceptor#onRequest\n * @param {Object} options\n * @returns {Object}\n */\n onRequest(options) {\n if (options && options.uri && typeof options.uri === 'string') {\n if (\n options.uri.includes('https://idbroker') ||\n options.uri.includes(this.webex.config.credentials.samlUrl) ||\n options.uri.includes(this.webex.config.credentials.tokenUrl) ||\n options.uri.includes(this.webex.config.credentials.authorizeUrl)\n ) {\n return options;\n }\n }\n\n // If cisco-no-http-redirect is already set, don't overwrite it\n if (requestHeaderName in options.headers) {\n // If cisco-no-http-redirect is set to null, false, or undefined, delete\n // it to prevent a CORS preflight.\n if (!options.headers[requestHeaderName]) {\n Reflect.deleteProperty(options.headers, requestHeaderName);\n }\n\n return options;\n }\n options.headers[requestHeaderName] = true;\n options.$redirectCount = options.$redirectCount || 0;\n\n return options;\n }\n\n /**\n * @see Interceptor#onResponse\n * @param {Object} options\n * @param {HttpResponse} response\n * @returns {Object}\n */\n onResponse(options, response) {\n /* eslint-disable no-else-return */\n if (response.headers && response.headers[responseHeaderName]) {\n options = clone(options);\n options.uri = response.headers[responseHeaderName];\n options.$redirectCount += 1;\n if (options.$redirectCount > this.webex.config.maxAppLevelRedirects) {\n return Promise.reject(new Error('Maximum redirects exceeded'));\n }\n\n return this.webex.request(options);\n } else if (\n response.headers &&\n response.body &&\n response.body.errorCode === LOCUS_REDIRECT_ERROR &&\n response.body.location\n ) {\n options = clone(options);\n\n this.webex.logger.warn('redirect: url redirects needed from', options.uri);\n if (response.options && response.options.qs) {\n // for POST requests\n const newUrl = response.body.location.split('?');\n\n options.uri = newUrl[0]; // params are already present in the qs\n } else {\n // for GET requests\n options.uri = response.body.location;\n }\n\n this.webex.logger.warn('redirect: url redirects needed to', options.uri);\n options.$redirectCount += 1;\n if (options.$redirectCount > this.webex.config.maxLocusRedirects) {\n return Promise.reject(new Error('Maximum redirects exceeded'));\n }\n\n return this.webex.request(options);\n } else if (\n response.headers &&\n response.body &&\n response.body.code === APPAPI_REDIRECT_ERROR &&\n response.body.data &&\n response.body.data.siteFullUrl\n ) {\n options = clone(options);\n\n this.webex.logger.warn('redirect: url redirects needed from', options.uri);\n if (response.options && response.options.qs) {\n // for POST requests\n const newUrl = response.body.data.siteFullUrl.split('?');\n\n options.uri = newUrl[0]; // params are already present in the qs\n } else {\n // for GET requests\n options.uri = options.uri.replace(/(?<=https:\\/\\/)[^/]+/, response.body.data.siteFullUrl);\n }\n\n this.webex.logger.warn('redirect: url redirects needed to', options.uri);\n options.$redirectCount += 1;\n if (options.$redirectCount > this.webex.config.maxLocusRedirects) {\n return Promise.reject(new Error('Maximum redirects exceeded'));\n }\n\n return this.webex.request(options);\n }\n /* eslint-enable no-else-return */\n\n return response;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAMA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AAA6C,SAAAE,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,sBAP7C,0CAEA;AACA;AACA;AAKA,IAAMC,iBAAiB,GAAG,wBAAwB;AAClD,IAAMC,kBAAkB,GAAG,gBAAgB;AAC3C,IAAMC,oBAAoB,GAAG,OAAO;AACpC,IAAMC,qBAAqB,GAAG,MAAM;;AAEpC;AACA;AACA;AAFA,IAGqBC,mBAAmB,GAAAC,OAAA,CAAArB,OAAA,0BAAAsB,YAAA;EAAA,IAAAC,UAAA,CAAAvB,OAAA,EAAAoB,mBAAA,EAAAE,YAAA;EAAA,IAAAE,MAAA,GAAA/B,YAAA,CAAA2B,mBAAA;EAAA,SAAAA,oBAAA;IAAA,IAAAK,gBAAA,CAAAzB,OAAA,QAAAoB,mBAAA;IAAA,OAAAI,MAAA,CAAAlB,KAAA,OAAAD,SAAA;EAAA;EAAA,IAAAqB,aAAA,CAAA1B,OAAA,EAAAoB,mBAAA;IAAAO,GAAA;IAAAC,KAAA;IAQtC;AACF;AACA;AACA;AACA;IACE,SAAAC,UAAUC,OAAO,EAAE;MACjB,IAAIA,OAAO,IAAIA,OAAO,CAACC,GAAG,IAAI,OAAOD,OAAO,CAACC,GAAG,KAAK,QAAQ,EAAE;QAC7D,IACED,OAAO,CAACC,GAAG,CAACC,QAAQ,CAAC,kBAAkB,CAAC,IACxCF,OAAO,CAACC,GAAG,CAACC,QAAQ,CAAC,IAAI,CAACC,KAAK,CAACC,MAAM,CAACC,WAAW,CAACC,OAAO,CAAC,IAC3DN,OAAO,CAACC,GAAG,CAACC,QAAQ,CAAC,IAAI,CAACC,KAAK,CAACC,MAAM,CAACC,WAAW,CAACE,QAAQ,CAAC,IAC5DP,OAAO,CAACC,GAAG,CAACC,QAAQ,CAAC,IAAI,CAACC,KAAK,CAACC,MAAM,CAACC,WAAW,CAACG,YAAY,CAAC,EAChE;UACA,OAAOR,OAAO;QAChB;MACF;;MAEA;MACA,IAAId,iBAAiB,IAAIc,OAAO,CAACS,OAAO,EAAE;QACxC;QACA;QACA,IAAI,CAACT,OAAO,CAACS,OAAO,CAACvB,iBAAiB,CAAC,EAAE;UACvC,IAAAwB,eAAA,CAAAxC,OAAA,EAAuB8B,OAAO,CAACS,OAAO,EAAEvB,iBAAiB,CAAC;QAC5D;QAEA,OAAOc,OAAO;MAChB;MACAA,OAAO,CAACS,OAAO,CAACvB,iBAAiB,CAAC,GAAG,IAAI;MACzCc,OAAO,CAACW,cAAc,GAAGX,OAAO,CAACW,cAAc,IAAI,CAAC;MAEpD,OAAOX,OAAO;IAChB;;IAEA;AACF;AACA;AACA;AACA;AACA;EALE;IAAAH,GAAA;IAAAC,KAAA,EAMA,SAAAc,WAAWZ,OAAO,EAAEa,QAAQ,EAAE;MAC5B;MACA,IAAIA,QAAQ,CAACJ,OAAO,IAAII,QAAQ,CAACJ,OAAO,CAACtB,kBAAkB,CAAC,EAAE;QAC5Da,OAAO,GAAG,IAAAc,aAAK,EAACd,OAAO,CAAC;QACxBA,OAAO,CAACC,GAAG,GAAGY,QAAQ,CAACJ,OAAO,CAACtB,kBAAkB,CAAC;QAClDa,OAAO,CAACW,cAAc,IAAI,CAAC;QAC3B,IAAIX,OAAO,CAACW,cAAc,GAAG,IAAI,CAACR,KAAK,CAACC,MAAM,CAACW,oBAAoB,EAAE;UACnE,OAAOC,QAAA,CAAA9C,OAAA,CAAQ+C,MAAM,CAAC,IAAIC,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAChE;QAEA,OAAO,IAAI,CAACf,KAAK,CAACgB,OAAO,CAACnB,OAAO,CAAC;MACpC,CAAC,MAAM,IACLa,QAAQ,CAACJ,OAAO,IAChBI,QAAQ,CAACO,IAAI,IACbP,QAAQ,CAACO,IAAI,CAACC,SAAS,KAAKjC,oBAAoB,IAChDyB,QAAQ,CAACO,IAAI,CAACE,QAAQ,EACtB;QACAtB,OAAO,GAAG,IAAAc,aAAK,EAACd,OAAO,CAAC;QAExB,IAAI,CAACG,KAAK,CAACoB,MAAM,CAACC,IAAI,CAAC,qCAAqC,EAAExB,OAAO,CAACC,GAAG,CAAC;QAC1E,IAAIY,QAAQ,CAACb,OAAO,IAAIa,QAAQ,CAACb,OAAO,CAACyB,EAAE,EAAE;UAC3C;UACA,IAAMC,MAAM,GAAGb,QAAQ,CAACO,IAAI,CAACE,QAAQ,CAACK,KAAK,CAAC,GAAG,CAAC;UAEhD3B,OAAO,CAACC,GAAG,GAAGyB,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3B,CAAC,MAAM;UACL;UACA1B,OAAO,CAACC,GAAG,GAAGY,QAAQ,CAACO,IAAI,CAACE,QAAQ;QACtC;QAEA,IAAI,CAACnB,KAAK,CAACoB,MAAM,CAACC,IAAI,CAAC,mCAAmC,EAAExB,OAAO,CAACC,GAAG,CAAC;QACxED,OAAO,CAACW,cAAc,IAAI,CAAC;QAC3B,IAAIX,OAAO,CAACW,cAAc,GAAG,IAAI,CAACR,KAAK,CAACC,MAAM,CAACwB,iBAAiB,EAAE;UAChE,OAAOZ,QAAA,CAAA9C,OAAA,CAAQ+C,MAAM,CAAC,IAAIC,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAChE;QAEA,OAAO,IAAI,CAACf,KAAK,CAACgB,OAAO,CAACnB,OAAO,CAAC;MACpC,CAAC,MAAM,IACLa,QAAQ,CAACJ,OAAO,IAChBI,QAAQ,CAACO,IAAI,IACbP,QAAQ,CAACO,IAAI,CAACS,IAAI,KAAKxC,qBAAqB,IAC5CwB,QAAQ,CAACO,IAAI,CAACU,IAAI,IAClBjB,QAAQ,CAACO,IAAI,CAACU,IAAI,CAACC,WAAW,EAC9B;QACA/B,OAAO,GAAG,IAAAc,aAAK,EAACd,OAAO,CAAC;QAExB,IAAI,CAACG,KAAK,CAACoB,MAAM,CAACC,IAAI,CAAC,qCAAqC,EAAExB,OAAO,CAACC,GAAG,CAAC;QAC1E,IAAIY,QAAQ,CAACb,OAAO,IAAIa,QAAQ,CAACb,OAAO,CAACyB,EAAE,EAAE;UAC3C;UACA,IAAMC,OAAM,GAAGb,QAAQ,CAACO,IAAI,CAACU,IAAI,CAACC,WAAW,CAACJ,KAAK,CAAC,GAAG,CAAC;UAExD3B,OAAO,CAACC,GAAG,GAAGyB,OAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3B,CAAC,MAAM;UACL;UACA1B,OAAO,CAACC,GAAG,GAAGD,OAAO,CAACC,GAAG,CAAC+B,OAAO,CAAC,sBAAsB,EAAEnB,QAAQ,CAACO,IAAI,CAACU,IAAI,CAACC,WAAW,CAAC;QAC3F;QAEA,IAAI,CAAC5B,KAAK,CAACoB,MAAM,CAACC,IAAI,CAAC,mCAAmC,EAAExB,OAAO,CAACC,GAAG,CAAC;QACxED,OAAO,CAACW,cAAc,IAAI,CAAC;QAC3B,IAAIX,OAAO,CAACW,cAAc,GAAG,IAAI,CAACR,KAAK,CAACC,MAAM,CAACwB,iBAAiB,EAAE;UAChE,OAAOZ,QAAA,CAAA9C,OAAA,CAAQ+C,MAAM,CAAC,IAAIC,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAChE;QAEA,OAAO,IAAI,CAACf,KAAK,CAACgB,OAAO,CAACnB,OAAO,CAAC;MACpC;MACA;;MAEA,OAAOa,QAAQ;IACjB;EAAC;IAAAhB,GAAA;IAAAC,KAAA;IAlHD;AACF;AACA;IACE,SAAAmC,OAAA,EAAgB;MACd,OAAO,IAAI3C,mBAAmB,CAAC;QAACa,KAAK,EAAE;MAAI,CAAC,CAAC;IAC/C;EAAC;EAAA,OAAAb,mBAAA;AAAA,EAN8C4C,qBAAW"}
@@ -286,7 +286,7 @@ var Batcher = _webexPlugin.default.extend({
286
286
  fingerprintResponse: function fingerprintResponse(item) {
287
287
  throw new Error('fingerprintResponse() must be implemented');
288
288
  },
289
- version: "3.8.0"
289
+ version: "3.8.1-next.2"
290
290
  });
291
291
  var _default2 = exports.default = Batcher;
292
292
  //# sourceMappingURL=batcher.js.map
@@ -558,7 +558,7 @@ var Credentials = _webexPlugin.default.extend((_dec = (0, _common.oneFlight)({
558
558
  this.refresh();
559
559
  }
560
560
  },
561
- version: "3.8.0"
561
+ version: "3.8.1-next.2"
562
562
  }, ((0, _applyDecoratedDescriptor2.default)(_obj, "getUserToken", [_dec, _dec2], (0, _getOwnPropertyDescriptor.default)(_obj, "getUserToken"), _obj), (0, _applyDecoratedDescriptor2.default)(_obj, "initialize", [_dec3], (0, _getOwnPropertyDescriptor.default)(_obj, "initialize"), _obj), (0, _applyDecoratedDescriptor2.default)(_obj, "invalidate", [_common.oneFlight, _dec4], (0, _getOwnPropertyDescriptor.default)(_obj, "invalidate"), _obj), (0, _applyDecoratedDescriptor2.default)(_obj, "refresh", [_common.oneFlight, _dec5, _dec6], (0, _getOwnPropertyDescriptor.default)(_obj, "refresh"), _obj)), _obj)));
563
563
  var _default = exports.default = Credentials;
564
564
  //# sourceMappingURL=credentials.js.map
@@ -532,7 +532,7 @@ var Token = _webexPlugin.default.extend((_dec = (0, _common.oneFlight)({
532
532
  return res.body;
533
533
  });
534
534
  },
535
- version: "3.8.0"
535
+ version: "3.8.1-next.2"
536
536
  }, ((0, _applyDecoratedDescriptor2.default)(_obj, "downscope", [_dec], (0, _getOwnPropertyDescriptor.default)(_obj, "downscope"), _obj), (0, _applyDecoratedDescriptor2.default)(_obj, "refresh", [_common.oneFlight], (0, _getOwnPropertyDescriptor.default)(_obj, "refresh"), _obj), (0, _applyDecoratedDescriptor2.default)(_obj, "revoke", [_common.oneFlight], (0, _getOwnPropertyDescriptor.default)(_obj, "revoke"), _obj)), _obj)));
537
537
  var _default = exports.default = Token;
538
538
  //# sourceMappingURL=token.js.map
@@ -1067,7 +1067,7 @@ var Services = _webexPlugin.default.extend({
1067
1067
  }
1068
1068
  });
1069
1069
  },
1070
- version: "3.8.0"
1070
+ version: "3.8.1-next.2"
1071
1071
  });
1072
1072
  /* eslint-enable no-underscore-dangle */
1073
1073
  var _default = exports.default = Services;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+
3
+ var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
4
+ _Object$defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.SERVICE_CATALOGS_ENUM_TYPES = exports.SERVICE_CATALOGS = exports.NAMESPACE = exports.COMMERCIAL_ALLOWED_DOMAINS = void 0;
8
+ var NAMESPACE = exports.NAMESPACE = 'services';
9
+ var SERVICE_CATALOGS = exports.SERVICE_CATALOGS = ['discovery', 'limited', 'signin', 'postauth', 'custom'];
10
+ var SERVICE_CATALOGS_ENUM_TYPES = exports.SERVICE_CATALOGS_ENUM_TYPES = {
11
+ STRING: 'SERVICE_CATALOGS_ENUM_TYPES_STRING',
12
+ NUMBER: 'SERVICE_CATALOGS_ENUM_TYPES_NUMBER'
13
+ };
14
+
15
+ // The default allowed domains that SDK can make requests to outside of service catalog
16
+ var COMMERCIAL_ALLOWED_DOMAINS = exports.COMMERCIAL_ALLOWED_DOMAINS = ['wbx2.com', 'ciscospark.com', 'webex.com', 'webexapis.com', 'broadcloudpbx.com', 'broadcloud.eu', 'broadcloud.com.au', 'broadcloudpbx.net'];
17
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["NAMESPACE","exports","SERVICE_CATALOGS","SERVICE_CATALOGS_ENUM_TYPES","STRING","NUMBER","COMMERCIAL_ALLOWED_DOMAINS"],"sources":["constants.ts"],"sourcesContent":["const NAMESPACE = 'services';\nconst SERVICE_CATALOGS = ['discovery', 'limited', 'signin', 'postauth', 'custom'];\n\nconst SERVICE_CATALOGS_ENUM_TYPES = {\n STRING: 'SERVICE_CATALOGS_ENUM_TYPES_STRING',\n NUMBER: 'SERVICE_CATALOGS_ENUM_TYPES_NUMBER',\n};\n\n// The default allowed domains that SDK can make requests to outside of service catalog\nconst COMMERCIAL_ALLOWED_DOMAINS = [\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\nexport {SERVICE_CATALOGS_ENUM_TYPES, NAMESPACE, SERVICE_CATALOGS, COMMERCIAL_ALLOWED_DOMAINS};\n"],"mappings":";;;;;;;AAAA,IAAMA,SAAS,GAAAC,OAAA,CAAAD,SAAA,GAAG,UAAU;AAC5B,IAAME,gBAAgB,GAAAD,OAAA,CAAAC,gBAAA,GAAG,CAAC,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,CAAC;AAEjF,IAAMC,2BAA2B,GAAAF,OAAA,CAAAE,2BAAA,GAAG;EAClCC,MAAM,EAAE,oCAAoC;EAC5CC,MAAM,EAAE;AACV,CAAC;;AAED;AACA,IAAMC,0BAA0B,GAAAL,OAAA,CAAAK,0BAAA,GAAG,CACjC,UAAU,EACV,gBAAgB,EAChB,WAAW,EACX,eAAe,EACf,mBAAmB,EACnB,eAAe,EACf,mBAAmB,EACnB,mBAAmB,CACpB"}
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+
3
+ var _typeof = require("@babel/runtime-corejs2/helpers/typeof");
4
+ var _WeakMap = require("@babel/runtime-corejs2/core-js/weak-map");
5
+ var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
6
+ var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs2/core-js/object/get-own-property-descriptor");
7
+ var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
8
+ _Object$defineProperty(exports, "__esModule", {
9
+ value: true
10
+ });
11
+ _Object$defineProperty(exports, "HostMapInterceptorV2", {
12
+ enumerable: true,
13
+ get: function get() {
14
+ return _hostmap.default;
15
+ }
16
+ });
17
+ _Object$defineProperty(exports, "ServerErrorInterceptorV2", {
18
+ enumerable: true,
19
+ get: function get() {
20
+ return _serverError.default;
21
+ }
22
+ });
23
+ _Object$defineProperty(exports, "ServiceCatalogV2", {
24
+ enumerable: true,
25
+ get: function get() {
26
+ return _serviceCatalog.default;
27
+ }
28
+ });
29
+ _Object$defineProperty(exports, "ServiceDetail", {
30
+ enumerable: true,
31
+ get: function get() {
32
+ return _serviceDetail.default;
33
+ }
34
+ });
35
+ _Object$defineProperty(exports, "ServiceInterceptorV2", {
36
+ enumerable: true,
37
+ get: function get() {
38
+ return _service.default;
39
+ }
40
+ });
41
+ _Object$defineProperty(exports, "ServicesV2", {
42
+ enumerable: true,
43
+ get: function get() {
44
+ return _servicesV.default;
45
+ }
46
+ });
47
+ exports.constants = void 0;
48
+ var constants = _interopRequireWildcard(require("./constants"));
49
+ exports.constants = constants;
50
+ var _servicesV = _interopRequireDefault(require("./services-v2"));
51
+ var _service = _interopRequireDefault(require("./interceptors/service"));
52
+ var _serverError = _interopRequireDefault(require("./interceptors/server-error"));
53
+ var _hostmap = _interopRequireDefault(require("./interceptors/hostmap"));
54
+ var _serviceCatalog = _interopRequireDefault(require("./service-catalog"));
55
+ var _serviceDetail = _interopRequireDefault(require("./service-detail"));
56
+ 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); }
57
+ 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; }
58
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["constants","_interopRequireWildcard","require","exports","_servicesV","_interopRequireDefault","_service","_serverError","_hostmap","_serviceCatalog","_serviceDetail","_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.ts"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n// import {registerInternalPlugin} from '../../webex-core';\n\nimport * as constants from './constants';\n// import ServerErrorInterceptor from './interceptors/server-error';\n// import ServiceInterceptor from './interceptors/service';\nexport {default as ServicesV2} from './services-v2';\n\n// registerInternalPlugin('services', ServicesV2, {\n// interceptors: {\n// ServiceInterceptor: ServiceInterceptor.create,\n// ServerErrorInterceptor: ServerErrorInterceptor.create,\n// },\n// });\n\nexport {constants};\nexport {default as ServiceInterceptorV2} from './interceptors/service';\nexport {default as ServerErrorInterceptorV2} from './interceptors/server-error';\nexport {default as HostMapInterceptorV2} from './interceptors/hostmap';\nexport {default as ServiceCatalogV2} from './service-catalog';\nexport {default as ServiceDetail} from './service-detail';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,IAAAA,SAAA,GAAAC,uBAAA,CAAAC,OAAA;AAAyCC,OAAA,CAAAH,SAAA,GAAAA,SAAA;AAGzC,IAAAI,UAAA,GAAAC,sBAAA,CAAAH,OAAA;AAUA,IAAAI,QAAA,GAAAD,sBAAA,CAAAH,OAAA;AACA,IAAAK,YAAA,GAAAF,sBAAA,CAAAH,OAAA;AACA,IAAAM,QAAA,GAAAH,sBAAA,CAAAH,OAAA;AACA,IAAAO,eAAA,GAAAJ,sBAAA,CAAAH,OAAA;AACA,IAAAQ,cAAA,GAAAL,sBAAA,CAAAH,OAAA;AAA0D,SAAAS,yBAAAC,CAAA,6BAAAC,QAAA,mBAAAC,CAAA,OAAAD,QAAA,IAAAE,CAAA,OAAAF,QAAA,YAAAF,wBAAA,YAAAA,yBAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAX,wBAAAW,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,gBAAAK,OAAA,CAAAL,CAAA,0BAAAA,CAAA,WAAAM,OAAA,EAAAN,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAI,GAAA,CAAAP,CAAA,UAAAG,CAAA,CAAAK,GAAA,CAAAR,CAAA,OAAAS,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,sBAAA,IAAAC,gCAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,IAAAC,MAAA,CAAAC,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAlB,CAAA,EAAAc,CAAA,SAAAK,CAAA,GAAAR,CAAA,GAAAE,gCAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAK,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,sBAAA,CAAAH,CAAA,EAAAK,CAAA,EAAAK,CAAA,IAAAV,CAAA,CAAAK,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAL,CAAA,CAAAH,OAAA,GAAAN,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAiB,GAAA,CAAApB,CAAA,EAAAS,CAAA,GAAAA,CAAA"}
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+
3
+ var _Reflect$construct = require("@babel/runtime-corejs2/core-js/reflect/construct");
4
+ var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
5
+ var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
6
+ _Object$defineProperty(exports, "__esModule", {
7
+ value: true
8
+ });
9
+ exports.default = void 0;
10
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/classCallCheck"));
11
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/createClass"));
12
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/inherits"));
13
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/possibleConstructorReturn"));
14
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/getPrototypeOf"));
15
+ var _httpCore = require("@webex/http-core");
16
+ 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); }; }
17
+ 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
+ * Copyright (c) 2015-2024 Cisco Systems, Inc. See LICENSE file.
19
+ */
20
+ /**
21
+ * This interceptor replaces the host in the request uri with the host from the hostmap
22
+ * It will attempt to do this for every request, but not all URIs will be in the hostmap
23
+ * URIs with hosts that are not in the hostmap will be left unchanged
24
+ */
25
+ var HostMapInterceptor = exports.default = /*#__PURE__*/function (_Interceptor) {
26
+ (0, _inherits2.default)(HostMapInterceptor, _Interceptor);
27
+ var _super = _createSuper(HostMapInterceptor);
28
+ function HostMapInterceptor() {
29
+ (0, _classCallCheck2.default)(this, HostMapInterceptor);
30
+ return _super.apply(this, arguments);
31
+ }
32
+ (0, _createClass2.default)(HostMapInterceptor, [{
33
+ key: "onRequest",
34
+ value:
35
+ /**
36
+ * @see Interceptor#onRequest
37
+ * @param {Object} options
38
+ * @returns {Object}
39
+ */
40
+ function onRequest(options) {
41
+ if (options.uri) {
42
+ try {
43
+ options.uri = this.webex.internal.services.replaceHostFromHostmap(options.uri);
44
+ } catch (error) {
45
+ /* empty */
46
+ }
47
+ }
48
+ return options;
49
+ }
50
+ }], [{
51
+ key: "create",
52
+ value:
53
+ /**
54
+ * @returns {HostMapInterceptor}
55
+ */
56
+ function create() {
57
+ return new HostMapInterceptor({
58
+ webex: this
59
+ });
60
+ }
61
+ }]);
62
+ return HostMapInterceptor;
63
+ }(_httpCore.Interceptor);
64
+ //# sourceMappingURL=hostmap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_httpCore","require","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","default","result","NewTarget","constructor","_Reflect$construct","arguments","apply","_possibleConstructorReturn2","Reflect","sham","Proxy","Boolean","prototype","valueOf","call","e","HostMapInterceptor","exports","_Interceptor","_inherits2","_super","_classCallCheck2","_createClass2","key","value","onRequest","options","uri","webex","internal","services","replaceHostFromHostmap","error","create","Interceptor"],"sources":["hostmap.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2024 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport {Interceptor} from '@webex/http-core';\n\n/**\n * This interceptor replaces the host in the request uri with the host from the hostmap\n * It will attempt to do this for every request, but not all URIs will be in the hostmap\n * URIs with hosts that are not in the hostmap will be left unchanged\n */\nexport default class HostMapInterceptor extends Interceptor {\n /**\n * @returns {HostMapInterceptor}\n */\n static create() {\n return new HostMapInterceptor({webex: this});\n }\n\n /**\n * @see Interceptor#onRequest\n * @param {Object} options\n * @returns {Object}\n */\n onRequest(options) {\n if (options.uri) {\n try {\n options.uri = this.webex.internal.services.replaceHostFromHostmap(options.uri);\n } catch (error) {\n /* empty */\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;AAJA,IAKqBC,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;IAQrC;AACF;AACA;AACA;AACA;IACE,SAAAC,UAAUC,OAAO,EAAE;MACjB,IAAIA,OAAO,CAACC,GAAG,EAAE;QACf,IAAI;UACFD,OAAO,CAACC,GAAG,GAAG,IAAI,CAACC,KAAK,CAACC,QAAQ,CAACC,QAAQ,CAACC,sBAAsB,CAACL,OAAO,CAACC,GAAG,CAAC;QAChF,CAAC,CAAC,OAAOK,KAAK,EAAE;UACd;QAAA;MAEJ;MAEA,OAAON,OAAO;IAChB;EAAC;IAAAH,GAAA;IAAAC,KAAA;IAtBD;AACF;AACA;IACE,SAAAS,OAAA,EAAgB;MACd,OAAO,IAAIjB,kBAAkB,CAAC;QAACY,KAAK,EAAE;MAAI,CAAC,CAAC;IAC9C;EAAC;EAAA,OAAAZ,kBAAA;AAAA,EAN6CkB,qBAAW"}