@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.
- package/README.md +87 -27
- package/dist/index.js +43 -0
- package/dist/index.js.map +1 -1
- package/dist/interceptors/redirect.js +18 -0
- package/dist/interceptors/redirect.js.map +1 -1
- package/dist/lib/batcher.js +1 -1
- package/dist/lib/credentials/credentials.js +1 -1
- package/dist/lib/credentials/token.js +1 -1
- package/dist/lib/services/services.js +1 -1
- package/dist/lib/services-v2/constants.js +17 -0
- package/dist/lib/services-v2/constants.js.map +1 -0
- package/dist/lib/services-v2/index.js +58 -0
- package/dist/lib/services-v2/index.js.map +1 -0
- package/dist/lib/services-v2/interceptors/hostmap.js +64 -0
- package/dist/lib/services-v2/interceptors/hostmap.js.map +1 -0
- package/dist/lib/services-v2/interceptors/server-error.js +77 -0
- package/dist/lib/services-v2/interceptors/server-error.js.map +1 -0
- package/dist/lib/services-v2/interceptors/service.js +137 -0
- package/dist/lib/services-v2/interceptors/service.js.map +1 -0
- package/dist/lib/services-v2/metrics.js +12 -0
- package/dist/lib/services-v2/metrics.js.map +1 -0
- package/dist/lib/services-v2/service-catalog.js +346 -0
- package/dist/lib/services-v2/service-catalog.js.map +1 -0
- package/dist/lib/services-v2/service-detail.js +94 -0
- package/dist/lib/services-v2/service-detail.js.map +1 -0
- package/dist/lib/services-v2/service-fed-ramp.js +13 -0
- package/dist/lib/services-v2/service-fed-ramp.js.map +1 -0
- package/dist/lib/services-v2/services-v2.js +985 -0
- package/dist/lib/services-v2/services-v2.js.map +1 -0
- package/dist/lib/services-v2/types.js +7 -0
- package/dist/lib/services-v2/types.js.map +1 -0
- package/dist/plugins/logger.js +1 -1
- package/dist/webex-core.js +2 -2
- package/dist/webex-core.js.map +1 -1
- package/package.json +13 -13
- package/src/index.js +10 -0
- package/src/interceptors/redirect.js +28 -0
- package/src/lib/services-v2/README.md +3 -0
- package/src/lib/services-v2/constants.ts +21 -0
- package/src/lib/services-v2/index.ts +23 -0
- package/src/lib/services-v2/interceptors/hostmap.js +36 -0
- package/src/lib/services-v2/interceptors/server-error.js +48 -0
- package/src/lib/services-v2/interceptors/service.js +101 -0
- package/src/lib/services-v2/metrics.js +4 -0
- package/src/lib/services-v2/service-catalog.ts +360 -0
- package/src/lib/services-v2/service-detail.ts +97 -0
- package/src/lib/services-v2/service-fed-ramp.ts +5 -0
- package/src/lib/services-v2/services-v2.js +988 -0
- package/src/lib/services-v2/types.ts +13 -0
- package/test/fixtures/host-catalog-v2.ts +249 -0
- package/test/integration/spec/services/services.js +12 -10
- package/test/unit/spec/interceptors/redirect.js +72 -0
- package/test/unit/spec/services-v2/service-catalog.ts +288 -0
- package/test/unit/spec/services-v2/service-detail.ts +147 -0
- 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
|
-
|
|
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
|
-
##
|
|
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
|
|
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
|
|
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
|
|
61
|
+
The services plugin supports the ability to inject discovery urls via the constructor:
|
|
40
62
|
|
|
41
63
|
```js
|
|
42
|
-
const webex = new
|
|
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
|
|
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` [
|
|
69
|
-
- `HYDRA_SERVICE_URL` [
|
|
70
|
-
- `SQDISCOVERY_SERVICE_URL` [
|
|
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-
|
|
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":"
|
|
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,
|
|
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":"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"}
|
package/dist/lib/batcher.js
CHANGED
|
@@ -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.
|
|
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.
|
|
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.
|
|
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
|
|
@@ -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"}
|