@webex/webex-core 3.0.0-beta.2 → 3.0.0-beta.21

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 (184) hide show
  1. package/dist/config.js +1 -11
  2. package/dist/config.js.map +1 -1
  3. package/dist/credentials-config.js +44 -64
  4. package/dist/credentials-config.js.map +1 -1
  5. package/dist/index.js +0 -76
  6. package/dist/index.js.map +1 -1
  7. package/dist/interceptors/auth.js +22 -55
  8. package/dist/interceptors/auth.js.map +1 -1
  9. package/dist/interceptors/default-options.js +0 -20
  10. package/dist/interceptors/default-options.js.map +1 -1
  11. package/dist/interceptors/embargo.js +0 -21
  12. package/dist/interceptors/embargo.js.map +1 -1
  13. package/dist/interceptors/network-timing.js +2 -21
  14. package/dist/interceptors/network-timing.js.map +1 -1
  15. package/dist/interceptors/payload-transformer.js +2 -22
  16. package/dist/interceptors/payload-transformer.js.map +1 -1
  17. package/dist/interceptors/rate-limit.js +25 -57
  18. package/dist/interceptors/rate-limit.js.map +1 -1
  19. package/dist/interceptors/redirect.js +4 -33
  20. package/dist/interceptors/redirect.js.map +1 -1
  21. package/dist/interceptors/request-event.js +3 -30
  22. package/dist/interceptors/request-event.js.map +1 -1
  23. package/dist/interceptors/request-logger.js +1 -30
  24. package/dist/interceptors/request-logger.js.map +1 -1
  25. package/dist/interceptors/request-timing.js +3 -22
  26. package/dist/interceptors/request-timing.js.map +1 -1
  27. package/dist/interceptors/response-logger.js +2 -31
  28. package/dist/interceptors/response-logger.js.map +1 -1
  29. package/dist/interceptors/user-agent.js +2 -29
  30. package/dist/interceptors/user-agent.js.map +1 -1
  31. package/dist/interceptors/webex-tracking-id.js +5 -28
  32. package/dist/interceptors/webex-tracking-id.js.map +1 -1
  33. package/dist/interceptors/webex-user-agent.js +5 -38
  34. package/dist/interceptors/webex-user-agent.js.map +1 -1
  35. package/dist/lib/batcher.js +3 -51
  36. package/dist/lib/batcher.js.map +1 -1
  37. package/dist/lib/credentials/credentials.js +39 -119
  38. package/dist/lib/credentials/credentials.js.map +1 -1
  39. package/dist/lib/credentials/grant-errors.js +0 -49
  40. package/dist/lib/credentials/grant-errors.js.map +1 -1
  41. package/dist/lib/credentials/index.js +1 -13
  42. package/dist/lib/credentials/index.js.map +1 -1
  43. package/dist/lib/credentials/scope.js +1 -7
  44. package/dist/lib/credentials/scope.js.map +1 -1
  45. package/dist/lib/credentials/token-collection.js +1 -7
  46. package/dist/lib/credentials/token-collection.js.map +1 -1
  47. package/dist/lib/credentials/token.js +39 -118
  48. package/dist/lib/credentials/token.js.map +1 -1
  49. package/dist/lib/page.js +13 -26
  50. package/dist/lib/page.js.map +1 -1
  51. package/dist/lib/services/constants.js +0 -2
  52. package/dist/lib/services/constants.js.map +1 -1
  53. package/dist/lib/services/index.js +1 -28
  54. package/dist/lib/services/index.js.map +1 -1
  55. package/dist/lib/services/interceptors/server-error.js +2 -23
  56. package/dist/lib/services/interceptors/server-error.js.map +1 -1
  57. package/dist/lib/services/interceptors/service.js +12 -34
  58. package/dist/lib/services/interceptors/service.js.map +1 -1
  59. package/dist/lib/services/metrics.js +0 -2
  60. package/dist/lib/services/metrics.js.map +1 -1
  61. package/dist/lib/services/service-catalog.js +10 -90
  62. package/dist/lib/services/service-catalog.js.map +1 -1
  63. package/dist/lib/services/service-fed-ramp.js +0 -2
  64. package/dist/lib/services/service-fed-ramp.js.map +1 -1
  65. package/dist/lib/services/service-host.js +47 -62
  66. package/dist/lib/services/service-host.js.map +1 -1
  67. package/dist/lib/services/service-registry.js +78 -90
  68. package/dist/lib/services/service-registry.js.map +1 -1
  69. package/dist/lib/services/service-state.js +3 -15
  70. package/dist/lib/services/service-state.js.map +1 -1
  71. package/dist/lib/services/service-url.js +4 -25
  72. package/dist/lib/services/service-url.js.map +1 -1
  73. package/dist/lib/services/services.js +122 -238
  74. package/dist/lib/services/services.js.map +1 -1
  75. package/dist/lib/stateless-webex-plugin.js +5 -28
  76. package/dist/lib/stateless-webex-plugin.js.map +1 -1
  77. package/dist/lib/storage/decorators.js +19 -62
  78. package/dist/lib/storage/decorators.js.map +1 -1
  79. package/dist/lib/storage/errors.js +0 -23
  80. package/dist/lib/storage/errors.js.map +1 -1
  81. package/dist/lib/storage/index.js +2 -16
  82. package/dist/lib/storage/index.js.map +1 -1
  83. package/dist/lib/storage/make-webex-plugin-store.js +11 -41
  84. package/dist/lib/storage/make-webex-plugin-store.js.map +1 -1
  85. package/dist/lib/storage/make-webex-store.js +8 -30
  86. package/dist/lib/storage/make-webex-store.js.map +1 -1
  87. package/dist/lib/storage/memory-store-adapter.js +1 -19
  88. package/dist/lib/storage/memory-store-adapter.js.map +1 -1
  89. package/dist/lib/webex-core-plugin-mixin.js +9 -29
  90. package/dist/lib/webex-core-plugin-mixin.js.map +1 -1
  91. package/dist/lib/webex-http-error.js +1 -31
  92. package/dist/lib/webex-http-error.js.map +1 -1
  93. package/dist/lib/webex-internal-core-plugin-mixin.js +9 -29
  94. package/dist/lib/webex-internal-core-plugin-mixin.js.map +1 -1
  95. package/dist/lib/webex-plugin.js +6 -40
  96. package/dist/lib/webex-plugin.js.map +1 -1
  97. package/dist/plugins/logger.js +3 -17
  98. package/dist/plugins/logger.js.map +1 -1
  99. package/dist/webex-core.js +79 -203
  100. package/dist/webex-core.js.map +1 -1
  101. package/dist/webex-internal-core.js +0 -10
  102. package/dist/webex-internal-core.js.map +1 -1
  103. package/package.json +14 -14
  104. package/src/config.js +9 -11
  105. package/src/credentials-config.js +110 -72
  106. package/src/index.js +4 -14
  107. package/src/interceptors/auth.js +36 -37
  108. package/src/interceptors/default-options.js +0 -1
  109. package/src/interceptors/embargo.js +1 -1
  110. package/src/interceptors/payload-transformer.js +1 -2
  111. package/src/interceptors/rate-limit.js +8 -5
  112. package/src/interceptors/redirect.js +14 -8
  113. package/src/interceptors/request-event.js +4 -8
  114. package/src/interceptors/request-logger.js +8 -5
  115. package/src/interceptors/response-logger.js +11 -8
  116. package/src/interceptors/user-agent.js +1 -2
  117. package/src/interceptors/webex-user-agent.js +3 -9
  118. package/src/lib/batcher.js +70 -69
  119. package/src/lib/credentials/credentials.js +112 -122
  120. package/src/lib/credentials/grant-errors.js +6 -7
  121. package/src/lib/credentials/index.js +1 -4
  122. package/src/lib/credentials/scope.js +1 -4
  123. package/src/lib/credentials/token-collection.js +1 -1
  124. package/src/lib/credentials/token.js +86 -80
  125. package/src/lib/page.js +10 -11
  126. package/src/lib/services/constants.js +3 -13
  127. package/src/lib/services/index.js +2 -2
  128. package/src/lib/services/interceptors/server-error.js +12 -7
  129. package/src/lib/services/interceptors/service.js +6 -5
  130. package/src/lib/services/metrics.js +1 -1
  131. package/src/lib/services/service-catalog.js +110 -100
  132. package/src/lib/services/service-fed-ramp.js +1 -2
  133. package/src/lib/services/service-host.js +10 -17
  134. package/src/lib/services/service-registry.js +69 -96
  135. package/src/lib/services/service-state.js +4 -6
  136. package/src/lib/services/service-url.js +24 -23
  137. package/src/lib/services/services.js +260 -251
  138. package/src/lib/stateless-webex-plugin.js +4 -2
  139. package/src/lib/storage/decorators.js +68 -66
  140. package/src/lib/storage/index.js +4 -6
  141. package/src/lib/storage/make-webex-plugin-store.js +34 -21
  142. package/src/lib/storage/make-webex-store.js +6 -7
  143. package/src/lib/storage/memory-store-adapter.js +3 -3
  144. package/src/lib/webex-core-plugin-mixin.js +10 -7
  145. package/src/lib/webex-http-error.js +7 -8
  146. package/src/lib/webex-internal-core-plugin-mixin.js +9 -6
  147. package/src/lib/webex-plugin.js +41 -34
  148. package/src/plugins/logger.js +8 -3
  149. package/src/webex-core.js +185 -116
  150. package/src/webex-internal-core.js +15 -9
  151. package/test/integration/spec/credentials/credentials.js +26 -30
  152. package/test/integration/spec/credentials/token.js +36 -33
  153. package/test/integration/spec/services/service-catalog.js +177 -156
  154. package/test/integration/spec/services/services.js +313 -304
  155. package/test/integration/spec/webex-core.js +98 -86
  156. package/test/unit/spec/_setup.js +26 -18
  157. package/test/unit/spec/credentials/credentials.js +189 -154
  158. package/test/unit/spec/credentials/token.js +94 -76
  159. package/test/unit/spec/interceptors/auth.js +291 -243
  160. package/test/unit/spec/interceptors/default-options.js +36 -24
  161. package/test/unit/spec/interceptors/embargo.js +32 -27
  162. package/test/unit/spec/interceptors/network-timing.js +2 -2
  163. package/test/unit/spec/interceptors/payload-transformer.js +61 -52
  164. package/test/unit/spec/interceptors/rate-limit.js +104 -75
  165. package/test/unit/spec/interceptors/redirect.js +22 -20
  166. package/test/unit/spec/interceptors/request-timing.js +18 -22
  167. package/test/unit/spec/interceptors/user-agent.js +28 -16
  168. package/test/unit/spec/interceptors/webex-tracking-id.js +14 -8
  169. package/test/unit/spec/interceptors/webex-user-agent.js +83 -37
  170. package/test/unit/spec/lib/batcher.js +36 -32
  171. package/test/unit/spec/lib/page.js +36 -32
  172. package/test/unit/spec/lib/webex-plugin.js +1 -1
  173. package/test/unit/spec/services/interceptors/server-error.js +67 -90
  174. package/test/unit/spec/services/interceptors/service.js +17 -28
  175. package/test/unit/spec/services/service-catalog.js +19 -27
  176. package/test/unit/spec/services/service-host.js +29 -26
  177. package/test/unit/spec/services/service-registry.js +128 -170
  178. package/test/unit/spec/services/service-state.js +13 -22
  179. package/test/unit/spec/services/service-url.js +24 -43
  180. package/test/unit/spec/services/services.js +85 -41
  181. package/test/unit/spec/storage/persist.js +6 -9
  182. package/test/unit/spec/storage/wait-for-value.js +22 -21
  183. package/test/unit/spec/webex-core.js +78 -57
  184. package/test/unit/spec/webex-internal-core.js +56 -31
package/dist/index.js CHANGED
@@ -1,378 +1,302 @@
1
1
  "use strict";
2
2
 
3
3
  var _typeof = require("@babel/runtime-corejs2/helpers/typeof");
4
-
5
4
  var _WeakMap = require("@babel/runtime-corejs2/core-js/weak-map");
6
-
7
5
  var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
8
-
9
6
  var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs2/core-js/object/get-own-property-descriptor");
10
-
11
7
  var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
12
-
13
8
  _Object$defineProperty(exports, "__esModule", {
14
9
  value: true
15
10
  });
16
-
17
11
  _Object$defineProperty(exports, "AuthInterceptor", {
18
12
  enumerable: true,
19
13
  get: function get() {
20
14
  return _auth.default;
21
15
  }
22
16
  });
23
-
24
17
  _Object$defineProperty(exports, "Batcher", {
25
18
  enumerable: true,
26
19
  get: function get() {
27
20
  return _batcher.default;
28
21
  }
29
22
  });
30
-
31
23
  _Object$defineProperty(exports, "Credentials", {
32
24
  enumerable: true,
33
25
  get: function get() {
34
26
  return _credentials.Credentials;
35
27
  }
36
28
  });
37
-
38
29
  _Object$defineProperty(exports, "DefaultOptionsInterceptor", {
39
30
  enumerable: true,
40
31
  get: function get() {
41
32
  return _defaultOptions.default;
42
33
  }
43
34
  });
44
-
45
35
  _Object$defineProperty(exports, "EmbargoInterceptor", {
46
36
  enumerable: true,
47
37
  get: function get() {
48
38
  return _embargo.default;
49
39
  }
50
40
  });
51
-
52
41
  _Object$defineProperty(exports, "MemoryStoreAdapter", {
53
42
  enumerable: true,
54
43
  get: function get() {
55
44
  return _storage.MemoryStoreAdapter;
56
45
  }
57
46
  });
58
-
59
47
  _Object$defineProperty(exports, "NetworkTimingInterceptor", {
60
48
  enumerable: true,
61
49
  get: function get() {
62
50
  return _networkTiming.default;
63
51
  }
64
52
  });
65
-
66
53
  _Object$defineProperty(exports, "NotFoundError", {
67
54
  enumerable: true,
68
55
  get: function get() {
69
56
  return _storage.NotFoundError;
70
57
  }
71
58
  });
72
-
73
59
  _Object$defineProperty(exports, "Page", {
74
60
  enumerable: true,
75
61
  get: function get() {
76
62
  return _page.default;
77
63
  }
78
64
  });
79
-
80
65
  _Object$defineProperty(exports, "PayloadTransformerInterceptor", {
81
66
  enumerable: true,
82
67
  get: function get() {
83
68
  return _payloadTransformer.default;
84
69
  }
85
70
  });
86
-
87
71
  _Object$defineProperty(exports, "RateLimitInterceptor", {
88
72
  enumerable: true,
89
73
  get: function get() {
90
74
  return _rateLimit.default;
91
75
  }
92
76
  });
93
-
94
77
  _Object$defineProperty(exports, "RedirectInterceptor", {
95
78
  enumerable: true,
96
79
  get: function get() {
97
80
  return _redirect.default;
98
81
  }
99
82
  });
100
-
101
83
  _Object$defineProperty(exports, "RequestEventInterceptor", {
102
84
  enumerable: true,
103
85
  get: function get() {
104
86
  return _requestEvent.default;
105
87
  }
106
88
  });
107
-
108
89
  _Object$defineProperty(exports, "RequestLoggerInterceptor", {
109
90
  enumerable: true,
110
91
  get: function get() {
111
92
  return _requestLogger.default;
112
93
  }
113
94
  });
114
-
115
95
  _Object$defineProperty(exports, "RequestTimingInterceptor", {
116
96
  enumerable: true,
117
97
  get: function get() {
118
98
  return _requestTiming.default;
119
99
  }
120
100
  });
121
-
122
101
  _Object$defineProperty(exports, "ResponseLoggerInterceptor", {
123
102
  enumerable: true,
124
103
  get: function get() {
125
104
  return _responseLogger.default;
126
105
  }
127
106
  });
128
-
129
107
  _Object$defineProperty(exports, "ServerErrorInterceptor", {
130
108
  enumerable: true,
131
109
  get: function get() {
132
110
  return _services.ServerErrorInterceptor;
133
111
  }
134
112
  });
135
-
136
113
  _Object$defineProperty(exports, "ServiceCatalog", {
137
114
  enumerable: true,
138
115
  get: function get() {
139
116
  return _services.ServiceCatalog;
140
117
  }
141
118
  });
142
-
143
119
  _Object$defineProperty(exports, "ServiceHost", {
144
120
  enumerable: true,
145
121
  get: function get() {
146
122
  return _services.ServiceHost;
147
123
  }
148
124
  });
149
-
150
125
  _Object$defineProperty(exports, "ServiceInterceptor", {
151
126
  enumerable: true,
152
127
  get: function get() {
153
128
  return _services.ServiceInterceptor;
154
129
  }
155
130
  });
156
-
157
131
  _Object$defineProperty(exports, "ServiceRegistry", {
158
132
  enumerable: true,
159
133
  get: function get() {
160
134
  return _services.ServiceRegistry;
161
135
  }
162
136
  });
163
-
164
137
  _Object$defineProperty(exports, "ServiceState", {
165
138
  enumerable: true,
166
139
  get: function get() {
167
140
  return _services.ServiceState;
168
141
  }
169
142
  });
170
-
171
143
  _Object$defineProperty(exports, "ServiceUrl", {
172
144
  enumerable: true,
173
145
  get: function get() {
174
146
  return _services.ServiceUrl;
175
147
  }
176
148
  });
177
-
178
149
  _Object$defineProperty(exports, "Services", {
179
150
  enumerable: true,
180
151
  get: function get() {
181
152
  return _services.Services;
182
153
  }
183
154
  });
184
-
185
155
  _Object$defineProperty(exports, "StatelessWebexPlugin", {
186
156
  enumerable: true,
187
157
  get: function get() {
188
158
  return _statelessWebexPlugin.default;
189
159
  }
190
160
  });
191
-
192
161
  _Object$defineProperty(exports, "StorageError", {
193
162
  enumerable: true,
194
163
  get: function get() {
195
164
  return _storage.StorageError;
196
165
  }
197
166
  });
198
-
199
167
  _Object$defineProperty(exports, "Token", {
200
168
  enumerable: true,
201
169
  get: function get() {
202
170
  return _credentials.Token;
203
171
  }
204
172
  });
205
-
206
173
  _Object$defineProperty(exports, "UserAgentInterceptor", {
207
174
  enumerable: true,
208
175
  get: function get() {
209
176
  return _userAgent.default;
210
177
  }
211
178
  });
212
-
213
179
  _Object$defineProperty(exports, "WebexHttpError", {
214
180
  enumerable: true,
215
181
  get: function get() {
216
182
  return _webexHttpError.default;
217
183
  }
218
184
  });
219
-
220
185
  _Object$defineProperty(exports, "WebexPlugin", {
221
186
  enumerable: true,
222
187
  get: function get() {
223
188
  return _webexPlugin.default;
224
189
  }
225
190
  });
226
-
227
191
  _Object$defineProperty(exports, "WebexTrackingIdInterceptor", {
228
192
  enumerable: true,
229
193
  get: function get() {
230
194
  return _webexTrackingId.default;
231
195
  }
232
196
  });
233
-
234
197
  _Object$defineProperty(exports, "WebexUserAgentInterceptor", {
235
198
  enumerable: true,
236
199
  get: function get() {
237
200
  return _webexUserAgent.default;
238
201
  }
239
202
  });
240
-
241
203
  _Object$defineProperty(exports, "config", {
242
204
  enumerable: true,
243
205
  get: function get() {
244
206
  return _config.default;
245
207
  }
246
208
  });
247
-
248
209
  _Object$defineProperty(exports, "default", {
249
210
  enumerable: true,
250
211
  get: function get() {
251
212
  return _webexCore.default;
252
213
  }
253
214
  });
254
-
255
215
  _Object$defineProperty(exports, "filterScope", {
256
216
  enumerable: true,
257
217
  get: function get() {
258
218
  return _credentials.filterScope;
259
219
  }
260
220
  });
261
-
262
221
  _Object$defineProperty(exports, "grantErrors", {
263
222
  enumerable: true,
264
223
  get: function get() {
265
224
  return _credentials.grantErrors;
266
225
  }
267
226
  });
268
-
269
227
  _Object$defineProperty(exports, "makeWebexPluginStore", {
270
228
  enumerable: true,
271
229
  get: function get() {
272
230
  return _storage.makeWebexPluginStore;
273
231
  }
274
232
  });
275
-
276
233
  _Object$defineProperty(exports, "makeWebexStore", {
277
234
  enumerable: true,
278
235
  get: function get() {
279
236
  return _storage.makeWebexStore;
280
237
  }
281
238
  });
282
-
283
239
  _Object$defineProperty(exports, "persist", {
284
240
  enumerable: true,
285
241
  get: function get() {
286
242
  return _storage.persist;
287
243
  }
288
244
  });
289
-
290
245
  _Object$defineProperty(exports, "registerInternalPlugin", {
291
246
  enumerable: true,
292
247
  get: function get() {
293
248
  return _webexCore.registerInternalPlugin;
294
249
  }
295
250
  });
296
-
297
251
  _Object$defineProperty(exports, "registerPlugin", {
298
252
  enumerable: true,
299
253
  get: function get() {
300
254
  return _webexCore.registerPlugin;
301
255
  }
302
256
  });
303
-
304
257
  _Object$defineProperty(exports, "serviceConstants", {
305
258
  enumerable: true,
306
259
  get: function get() {
307
260
  return _services.constants;
308
261
  }
309
262
  });
310
-
311
263
  _Object$defineProperty(exports, "sortScope", {
312
264
  enumerable: true,
313
265
  get: function get() {
314
266
  return _credentials.sortScope;
315
267
  }
316
268
  });
317
-
318
269
  _Object$defineProperty(exports, "waitForValue", {
319
270
  enumerable: true,
320
271
  get: function get() {
321
272
  return _storage.waitForValue;
322
273
  }
323
274
  });
324
-
325
275
  require("./plugins/logger");
326
-
327
276
  var _credentials = require("./lib/credentials");
328
-
329
277
  var _services = require("./lib/services");
330
-
331
278
  var _storage = require("./lib/storage");
332
-
333
279
  var _webexCore = _interopRequireWildcard(require("./webex-core"));
334
-
335
280
  var _webexHttpError = _interopRequireDefault(require("./lib/webex-http-error"));
336
-
337
281
  var _statelessWebexPlugin = _interopRequireDefault(require("./lib/stateless-webex-plugin"));
338
-
339
282
  var _webexPlugin = _interopRequireDefault(require("./lib/webex-plugin"));
340
-
341
283
  var _auth = _interopRequireDefault(require("./interceptors/auth"));
342
-
343
284
  var _networkTiming = _interopRequireDefault(require("./interceptors/network-timing"));
344
-
345
285
  var _payloadTransformer = _interopRequireDefault(require("./interceptors/payload-transformer"));
346
-
347
286
  var _redirect = _interopRequireDefault(require("./interceptors/redirect"));
348
-
349
287
  var _responseLogger = _interopRequireDefault(require("./interceptors/response-logger"));
350
-
351
288
  var _requestEvent = _interopRequireDefault(require("./interceptors/request-event"));
352
-
353
289
  var _requestLogger = _interopRequireDefault(require("./interceptors/request-logger"));
354
-
355
290
  var _requestTiming = _interopRequireDefault(require("./interceptors/request-timing"));
356
-
357
291
  var _userAgent = _interopRequireDefault(require("./interceptors/user-agent"));
358
-
359
292
  var _webexTrackingId = _interopRequireDefault(require("./interceptors/webex-tracking-id"));
360
-
361
293
  var _webexUserAgent = _interopRequireDefault(require("./interceptors/webex-user-agent"));
362
-
363
294
  var _rateLimit = _interopRequireDefault(require("./interceptors/rate-limit"));
364
-
365
295
  var _embargo = _interopRequireDefault(require("./interceptors/embargo"));
366
-
367
296
  var _defaultOptions = _interopRequireDefault(require("./interceptors/default-options"));
368
-
369
297
  var _batcher = _interopRequireDefault(require("./lib/batcher"));
370
-
371
298
  var _page = _interopRequireDefault(require("./lib/page"));
372
-
373
299
  var _config = _interopRequireDefault(require("./config"));
374
-
375
300
  function _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== "function") return null; var cacheBabelInterop = new _WeakMap(); var cacheNodeInterop = new _WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
376
-
377
301
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = _Object$defineProperty && _Object$getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? _Object$getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { _Object$defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
378
302
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["index.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n *\n * Services is currently a part of webex-core due to how the contents of\n * the original internal-plugin-services needed to be accessed when webex-core\n * is initialized. As a plugin outside of webex-core, it would initialize after\n * credentials, causing all requests prior to its initialization to fail\n * federation requirements, and instead send requests to the environmentally-\n * assigned urls.\n */\n\nimport './plugins/logger';\nimport './lib/credentials';\nimport './lib/services';\n\nexport {\n Credentials,\n filterScope,\n grantErrors,\n sortScope,\n Token\n} from './lib/credentials';\n\nexport {\n constants as serviceConstants,\n ServiceCatalog,\n ServiceRegistry,\n ServiceState,\n ServiceInterceptor,\n ServerErrorInterceptor,\n Services,\n ServiceHost,\n ServiceUrl\n} from './lib/services';\n\nexport {\n makeWebexStore,\n makeWebexPluginStore,\n MemoryStoreAdapter,\n NotFoundError,\n persist,\n StorageError,\n waitForValue\n} from './lib/storage';\n\nexport {\n default,\n registerPlugin,\n registerInternalPlugin\n} from './webex-core';\n\nexport {default as WebexHttpError} from './lib/webex-http-error';\nexport {default as StatelessWebexPlugin} from './lib/stateless-webex-plugin';\nexport {default as WebexPlugin} from './lib/webex-plugin';\nexport {default as AuthInterceptor} from './interceptors/auth';\nexport {default as NetworkTimingInterceptor} from './interceptors/network-timing';\nexport {default as PayloadTransformerInterceptor} from './interceptors/payload-transformer';\nexport {default as RedirectInterceptor} from './interceptors/redirect';\nexport {default as ResponseLoggerInterceptor} from './interceptors/response-logger';\nexport {default as RequestEventInterceptor} from './interceptors/request-event';\nexport {default as RequestLoggerInterceptor} from './interceptors/request-logger';\nexport {default as RequestTimingInterceptor} from './interceptors/request-timing';\nexport {default as UserAgentInterceptor} from './interceptors/user-agent';\nexport {default as WebexTrackingIdInterceptor} from './interceptors/webex-tracking-id';\nexport {default as WebexUserAgentInterceptor} from './interceptors/webex-user-agent';\nexport {default as RateLimitInterceptor} from './interceptors/rate-limit';\nexport {default as EmbargoInterceptor} from './interceptors/embargo';\nexport {default as DefaultOptionsInterceptor} from './interceptors/default-options';\n\nexport {default as Batcher} from './lib/batcher';\nexport {default as Page} from './lib/page';\nexport {default as config} from './config';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAWA;;AACA;;AACA;;AAsBA;;AAUA;;AAMA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAEA;;AACA;;AACA"}
1
+ {"version":3,"names":[],"sources":["index.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n *\n * Services is currently a part of webex-core due to how the contents of\n * the original internal-plugin-services needed to be accessed when webex-core\n * is initialized. As a plugin outside of webex-core, it would initialize after\n * credentials, causing all requests prior to its initialization to fail\n * federation requirements, and instead send requests to the environmentally-\n * assigned urls.\n */\n\nimport './plugins/logger';\nimport './lib/credentials';\nimport './lib/services';\n\nexport {Credentials, filterScope, grantErrors, sortScope, Token} from './lib/credentials';\n\nexport {\n constants as serviceConstants,\n ServiceCatalog,\n ServiceRegistry,\n ServiceState,\n ServiceInterceptor,\n ServerErrorInterceptor,\n Services,\n ServiceHost,\n ServiceUrl,\n} from './lib/services';\n\nexport {\n makeWebexStore,\n makeWebexPluginStore,\n MemoryStoreAdapter,\n NotFoundError,\n persist,\n StorageError,\n waitForValue,\n} from './lib/storage';\n\nexport {default, registerPlugin, registerInternalPlugin} from './webex-core';\n\nexport {default as WebexHttpError} from './lib/webex-http-error';\nexport {default as StatelessWebexPlugin} from './lib/stateless-webex-plugin';\nexport {default as WebexPlugin} from './lib/webex-plugin';\nexport {default as AuthInterceptor} from './interceptors/auth';\nexport {default as NetworkTimingInterceptor} from './interceptors/network-timing';\nexport {default as PayloadTransformerInterceptor} from './interceptors/payload-transformer';\nexport {default as RedirectInterceptor} from './interceptors/redirect';\nexport {default as ResponseLoggerInterceptor} from './interceptors/response-logger';\nexport {default as RequestEventInterceptor} from './interceptors/request-event';\nexport {default as RequestLoggerInterceptor} from './interceptors/request-logger';\nexport {default as RequestTimingInterceptor} from './interceptors/request-timing';\nexport {default as UserAgentInterceptor} from './interceptors/user-agent';\nexport {default as WebexTrackingIdInterceptor} from './interceptors/webex-tracking-id';\nexport {default as WebexUserAgentInterceptor} from './interceptors/webex-user-agent';\nexport {default as RateLimitInterceptor} from './interceptors/rate-limit';\nexport {default as EmbargoInterceptor} from './interceptors/embargo';\nexport {default as DefaultOptionsInterceptor} from './interceptors/default-options';\n\nexport {default as Batcher} from './lib/batcher';\nexport {default as Page} from './lib/page';\nexport {default as config} from './config';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAWA;AACA;AACA;AAgBA;AAUA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAA2C;AAAA"}
@@ -1,50 +1,32 @@
1
1
  "use strict";
2
2
 
3
3
  var _Reflect$construct = require("@babel/runtime-corejs2/core-js/reflect/construct");
4
-
5
4
  var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
6
-
7
5
  var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
8
-
9
6
  _Object$defineProperty(exports, "__esModule", {
10
7
  value: true
11
8
  });
12
-
13
9
  exports.default = void 0;
14
-
15
10
  var _deleteProperty = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/reflect/delete-property"));
16
-
17
11
  var _promise = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/promise"));
18
-
19
12
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/classCallCheck"));
20
-
21
13
  var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/createClass"));
22
-
23
14
  var _inherits2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/inherits"));
24
-
25
15
  var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/possibleConstructorReturn"));
26
-
27
16
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/getPrototypeOf"));
28
-
29
17
  var _httpCore = require("@webex/http-core");
30
-
31
18
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = _Reflect$construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
32
-
33
19
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !_Reflect$construct) return false; if (_Reflect$construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(_Reflect$construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
34
-
35
20
  /**
36
21
  * @class
37
22
  */
38
23
  var AuthInterceptor = /*#__PURE__*/function (_Interceptor) {
39
24
  (0, _inherits2.default)(AuthInterceptor, _Interceptor);
40
-
41
25
  var _super = _createSuper(AuthInterceptor);
42
-
43
26
  function AuthInterceptor() {
44
27
  (0, _classCallCheck2.default)(this, AuthInterceptor);
45
28
  return _super.apply(this, arguments);
46
29
  }
47
-
48
30
  (0, _createClass2.default)(AuthInterceptor, [{
49
31
  key: "onRequest",
50
32
  value:
@@ -55,78 +37,73 @@ var AuthInterceptor = /*#__PURE__*/function (_Interceptor) {
55
37
  */
56
38
  function onRequest(options) {
57
39
  var _this = this;
40
+ options.headers = options.headers || {};
58
41
 
59
- options.headers = options.headers || {}; // If Authorizations is already set, don't overwrite it
60
-
42
+ // If Authorizations is already set, don't overwrite it
61
43
  if ('authorization' in options.headers || 'auth' in options) {
62
44
  // If Authorization is set to null, false, or undefined, delete it to
63
45
  // prevent a CORS preflight.
64
46
  if (!options.headers.authorization) {
65
47
  (0, _deleteProperty.default)(options.headers, 'authorization');
66
48
  }
67
-
68
49
  return _promise.default.resolve(options);
69
50
  }
70
-
71
51
  return this.requiresCredentials(options).then(function (requires) {
72
52
  if (!requires) {
73
53
  return options;
74
54
  }
75
-
76
55
  return _this.webex.credentials.getUserToken().then(function (token) {
77
56
  options.headers.authorization = token.toString();
78
57
  return options;
79
58
  });
80
59
  });
81
60
  }
61
+
82
62
  /**
83
63
  * Determines if the provided options object needs an authorization header.
84
64
  *
85
65
  * @param {Object} options
86
66
  * @returns {Promise<boolean>}
87
67
  */
88
-
89
68
  }, {
90
69
  key: "requiresCredentials",
91
70
  value: function requiresCredentials(options) {
92
71
  var _this2 = this;
93
-
94
72
  // Validate that authorization is necessary.
95
73
  if (options.addAuthHeader === false) {
96
74
  return _promise.default.resolve(false);
97
- } // Validate that the services plugin has been loaded before proceeding.
98
-
75
+ }
99
76
 
77
+ // Validate that the services plugin has been loaded before proceeding.
100
78
  if (!this.webex.internal.services) {
101
79
  return _promise.default.resolve(false);
102
- } // Destructure webex instance to isolate services plugin.
103
-
80
+ }
104
81
 
105
- var services = this.webex.internal.services; // Store the current service details if available and destructure details.
82
+ // Destructure webex instance to isolate services plugin.
83
+ var services = this.webex.internal.services;
106
84
 
85
+ // Store the current service details if available and destructure details.
107
86
  var details = services.getServiceFromUrl(options.uri || '');
108
-
109
87
  var _ref = details || {},
110
- name = _ref.name;
111
-
88
+ name = _ref.name;
112
89
  var resource = options.resource,
113
- uri = options.uri;
114
- var service = options.service || options.api; // Unique validation for the u2c service.
90
+ uri = options.uri;
91
+ var service = options.service || options.api;
115
92
 
93
+ // Unique validation for the u2c service.
116
94
  if (service && service === 'u2c' || name && name === 'u2c') {
117
95
  if (resource && resource.includes('limited') || uri && uri.includes('limited')) {
118
96
  return _promise.default.resolve(false);
119
97
  }
120
-
121
98
  return _promise.default.resolve(true);
122
- } // Validate that the allowed domains can be utilized.
123
-
99
+ }
124
100
 
101
+ // Validate that the allowed domains can be utilized.
125
102
  if (services.validateDomains && services.hasAllowedDomains() && uri && services.isAllowedDomainUrl(uri)) {
126
103
  return _promise.default.resolve(true);
127
- } // Perform an additional validation in case the service does not exist yet.
128
-
104
+ }
129
105
 
106
+ // Perform an additional validation in case the service does not exist yet.
130
107
  return services.waitForService({
131
108
  name: service,
132
109
  url: uri
@@ -134,52 +111,47 @@ var AuthInterceptor = /*#__PURE__*/function (_Interceptor) {
134
111
  // Validate that the url exists in the catalog.
135
112
  if (services.getServiceFromUrl(detectedUrl)) {
136
113
  return true;
137
- } // Return false to indicate authentication is not required.
138
-
114
+ }
139
115
 
116
+ // Return false to indicate authentication is not required.
140
117
  return false;
141
118
  }).catch(function (error) {
142
119
  _this2.webex.logger.warn('auth-interceptor: failed to validate service exists in catalog', error);
143
-
144
120
  return false;
145
121
  });
146
122
  }
123
+
147
124
  /**
148
125
  * @see {@link Interceptor#onResponseError}
149
126
  * @param {Object} options
150
127
  * @param {Error} reason
151
128
  * @returns {Object}
152
129
  */
153
-
154
130
  }, {
155
131
  key: "onResponseError",
156
132
  value: function onResponseError(options, reason) {
157
133
  var _this3 = this;
158
-
159
134
  return this.shouldAttemptReauth(reason, options).then(function (shouldAttemptReauth) {
160
135
  if (shouldAttemptReauth) {
161
136
  _this3.webex.logger.info('auth: received 401, attempting to reauthenticate');
162
-
163
137
  if (reason.options.headers) {
164
138
  (0, _deleteProperty.default)(reason.options.headers, 'authorization');
165
139
  }
166
-
167
140
  if (_this3.webex.credentials.canRefresh) {
168
141
  return _this3.webex.credentials.refresh().then(function () {
169
142
  return _this3.replay(options);
170
143
  });
171
144
  }
172
145
  }
173
-
174
146
  return _promise.default.reject(reason);
175
147
  });
176
148
  }
149
+
177
150
  /**
178
151
  * Replays the request
179
152
  * @param {Object} options
180
153
  * @returns {Object}
181
154
  */
182
-
183
155
  }, {
184
156
  key: "replay",
185
157
  value: function replay(options) {
@@ -188,15 +160,14 @@ var AuthInterceptor = /*#__PURE__*/function (_Interceptor) {
188
160
  } else {
189
161
  options.replayCount = 1;
190
162
  }
191
-
192
163
  if (options.replayCount > this.webex.config.maxAuthenticationReplays) {
193
164
  this.webex.logger.error("auth: failed after ".concat(this.webex.config.maxAuthenticationReplays, " replay attempts"));
194
165
  return _promise.default.reject(new Error("Failed after ".concat(this.webex.config.maxAuthenticationReplays, " replay attempts")));
195
166
  }
196
-
197
167
  this.webex.logger.info("auth: replaying request ".concat(options.replayCount, " time"));
198
168
  return this.webex.request(options);
199
169
  }
170
+
200
171
  /**
201
172
  * Indicates whether or not the current request should refresh its access
202
173
  * token in event of a 401
@@ -204,18 +175,15 @@ var AuthInterceptor = /*#__PURE__*/function (_Interceptor) {
204
175
  * @param {Object} options
205
176
  * @returns {Promise<boolean>}
206
177
  */
207
-
208
178
  }, {
209
179
  key: "shouldAttemptReauth",
210
180
  value: function shouldAttemptReauth(reason, options) {
211
181
  if (options && options.shouldRefreshAccessToken === false) {
212
182
  return _promise.default.resolve(false);
213
183
  }
214
-
215
184
  if (reason.statusCode === 401) {
216
185
  return _promise.default.resolve(true);
217
186
  }
218
-
219
187
  return _promise.default.resolve(false);
220
188
  }
221
189
  }], [{
@@ -232,6 +200,5 @@ var AuthInterceptor = /*#__PURE__*/function (_Interceptor) {
232
200
  }]);
233
201
  return AuthInterceptor;
234
202
  }(_httpCore.Interceptor);
235
-
236
203
  exports.default = AuthInterceptor;
237
204
  //# sourceMappingURL=auth.js.map