@webex/calling 3.12.0-mobius-socket.17 → 3.12.0-mobius-socket.19
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/dist/CallingClient/utils/request.js +6 -3
- package/dist/CallingClient/utils/request.js.map +1 -1
- package/dist/CallingClient/utils/request.test.js +2 -2
- package/dist/CallingClient/utils/request.test.js.map +1 -1
- package/dist/CallingClient/utils/types.js.map +1 -1
- package/dist/SDKConnector/types.js.map +1 -1
- package/dist/mobius-socket/config.js +7 -44
- package/dist/mobius-socket/config.js.map +1 -1
- package/dist/mobius-socket/errors.js +25 -21
- package/dist/mobius-socket/errors.js.map +1 -1
- package/dist/mobius-socket/index.js +0 -44
- package/dist/mobius-socket/index.js.map +1 -1
- package/dist/mobius-socket/mobius-socket-events.test.js +20 -48
- package/dist/mobius-socket/mobius-socket-events.test.js.map +1 -1
- package/dist/mobius-socket/mobius-socket.js +302 -701
- package/dist/mobius-socket/mobius-socket.js.map +1 -1
- package/dist/mobius-socket/mobius-socket.test.js +435 -718
- package/dist/mobius-socket/mobius-socket.test.js.map +1 -1
- package/dist/mobius-socket/socket/socket-base.js +70 -78
- package/dist/mobius-socket/socket/socket-base.js.map +1 -1
- package/dist/mobius-socket/socket.test.js +36 -61
- package/dist/mobius-socket/socket.test.js.map +1 -1
- package/dist/mobius-socket/types.js +7 -0
- package/dist/mobius-socket/types.js.map +1 -0
- package/dist/module/CallingClient/utils/request.js +3 -2
- package/dist/module/mobius-socket/config.js +7 -10
- package/dist/module/mobius-socket/errors.js +17 -0
- package/dist/module/mobius-socket/index.js +0 -3
- package/dist/module/mobius-socket/mobius-socket.js +211 -401
- package/dist/module/mobius-socket/socket/socket-base.js +64 -69
- package/dist/module/mobius-socket/types.js +1 -0
- package/dist/types/CallingClient/utils/request.d.ts.map +1 -1
- package/dist/types/CallingClient/utils/types.d.ts +1 -1
- package/dist/types/CallingClient/utils/types.d.ts.map +1 -1
- package/dist/types/SDKConnector/types.d.ts +15 -0
- package/dist/types/SDKConnector/types.d.ts.map +1 -1
- package/dist/types/mobius-socket/config.d.ts +7 -8
- package/dist/types/mobius-socket/config.d.ts.map +1 -1
- package/dist/types/mobius-socket/errors.d.ts +7 -0
- package/dist/types/mobius-socket/errors.d.ts.map +1 -1
- package/dist/types/mobius-socket/index.d.ts +3 -5
- package/dist/types/mobius-socket/index.d.ts.map +1 -1
- package/dist/types/mobius-socket/mobius-socket.d.ts +26 -37
- package/dist/types/mobius-socket/mobius-socket.d.ts.map +1 -1
- package/dist/types/mobius-socket/socket/socket-base.d.ts +10 -10
- package/dist/types/mobius-socket/socket/socket-base.d.ts.map +1 -1
- package/dist/types/mobius-socket/types.d.ts +21 -0
- package/dist/types/mobius-socket/types.d.ts.map +1 -0
- package/package.json +1 -1
|
@@ -5,17 +5,12 @@ import { EventEmitter } from 'events';
|
|
|
5
5
|
import { checkRequired } from '@webex/common';
|
|
6
6
|
import { safeSetTimeout } from '@webex/common-timers';
|
|
7
7
|
import { defaults, has, isObject } from 'lodash';
|
|
8
|
-
import { BadRequest, ConnectionError, Forbidden, NotAuthorized, UnknownResponse
|
|
8
|
+
import { BadRequest, ConnectionError, Forbidden, NotAuthorized, UnknownResponse } from '../errors';
|
|
9
9
|
import { MESSAGE_TYPES, SOCKET_READY_STATE } from './constants';
|
|
10
10
|
const sockets = new WeakMap();
|
|
11
|
-
const UnknownResponseCtor = UnknownResponse;
|
|
12
|
-
const BadRequestCtor = BadRequest;
|
|
13
|
-
const NotAuthorizedCtor = NotAuthorized;
|
|
14
|
-
const ForbiddenCtor = Forbidden;
|
|
15
|
-
const ConnectionErrorCtor = ConnectionError;
|
|
16
11
|
export default class Socket extends EventEmitter {
|
|
17
|
-
|
|
18
|
-
|
|
12
|
+
domain;
|
|
13
|
+
pendingResponses;
|
|
19
14
|
forceCloseDelay;
|
|
20
15
|
logger;
|
|
21
16
|
refreshToken;
|
|
@@ -24,8 +19,8 @@ export default class Socket extends EventEmitter {
|
|
|
24
19
|
wssResponseTimeout;
|
|
25
20
|
constructor() {
|
|
26
21
|
super();
|
|
27
|
-
this.
|
|
28
|
-
this.
|
|
22
|
+
this.domain = 'unknown-domain';
|
|
23
|
+
this.pendingResponses = new Map();
|
|
29
24
|
this.onmessage = this.onmessage.bind(this);
|
|
30
25
|
this.onclose = this.onclose.bind(this);
|
|
31
26
|
this.setMaxListeners(10);
|
|
@@ -58,10 +53,10 @@ export default class Socket extends EventEmitter {
|
|
|
58
53
|
resolve();
|
|
59
54
|
return;
|
|
60
55
|
}
|
|
61
|
-
this.logger.info(`socket,${this.
|
|
56
|
+
this.logger.info(`socket,${this.domain}: closing`);
|
|
62
57
|
if (socket.readyState === SOCKET_READY_STATE.CLOSING ||
|
|
63
58
|
socket.readyState === SOCKET_READY_STATE.CLOSED) {
|
|
64
|
-
this.logger.info(`socket,${this.
|
|
59
|
+
this.logger.info(`socket,${this.domain}: already closed`);
|
|
65
60
|
resolve();
|
|
66
61
|
return;
|
|
67
62
|
}
|
|
@@ -79,7 +74,7 @@ export default class Socket extends EventEmitter {
|
|
|
79
74
|
}
|
|
80
75
|
const closeTimer = safeSetTimeout(() => {
|
|
81
76
|
try {
|
|
82
|
-
this.logger.info(`socket,${this.
|
|
77
|
+
this.logger.info(`socket,${this.domain}: no close event received, forcing closure`);
|
|
83
78
|
resolve(this.onclose(originalCode
|
|
84
79
|
? { code: originalCode, reason: originalReason || 'Done (unknown)' }
|
|
85
80
|
: {
|
|
@@ -88,17 +83,17 @@ export default class Socket extends EventEmitter {
|
|
|
88
83
|
}));
|
|
89
84
|
}
|
|
90
85
|
catch (error) {
|
|
91
|
-
this.logger.warn(`socket,${this.
|
|
86
|
+
this.logger.warn(`socket,${this.domain}: force-close failed`, error);
|
|
92
87
|
}
|
|
93
88
|
}, this.forceCloseDelay);
|
|
94
89
|
socket.onclose = (event) => {
|
|
95
|
-
this.logger.info(`socket,${this.
|
|
90
|
+
this.logger.info(`socket,${this.domain}: close event fired`, event.code, event.reason);
|
|
96
91
|
clearTimeout(closeTimer);
|
|
97
92
|
this.onclose(event);
|
|
98
93
|
resolve(event);
|
|
99
94
|
};
|
|
100
95
|
if (socket.readyState === SOCKET_READY_STATE.CONNECTING) {
|
|
101
|
-
this.logger.info(`socket,${this.
|
|
96
|
+
this.logger.info(`socket,${this.domain}: socket still connecting, triggering close manually`);
|
|
102
97
|
clearTimeout(closeTimer);
|
|
103
98
|
const closeEvent = {
|
|
104
99
|
code: resolvedOptions.code,
|
|
@@ -110,7 +105,7 @@ export default class Socket extends EventEmitter {
|
|
|
110
105
|
socket.close(resolvedOptions.code, resolvedOptions.reason);
|
|
111
106
|
}
|
|
112
107
|
catch (error) {
|
|
113
|
-
this.logger.info(`socket,${this.
|
|
108
|
+
this.logger.info(`socket,${this.domain}: error while closing CONNECTING socket, likely due to browser incompatibility with custom close codes`, error);
|
|
114
109
|
}
|
|
115
110
|
}
|
|
116
111
|
else {
|
|
@@ -120,10 +115,10 @@ export default class Socket extends EventEmitter {
|
|
|
120
115
|
}
|
|
121
116
|
open(url, options) {
|
|
122
117
|
try {
|
|
123
|
-
this.
|
|
118
|
+
this.domain = new URL(url).hostname;
|
|
124
119
|
}
|
|
125
120
|
catch {
|
|
126
|
-
this.
|
|
121
|
+
this.domain = url;
|
|
127
122
|
}
|
|
128
123
|
return new Promise((resolve, reject) => {
|
|
129
124
|
if (!url) {
|
|
@@ -143,47 +138,47 @@ export default class Socket extends EventEmitter {
|
|
|
143
138
|
});
|
|
144
139
|
});
|
|
145
140
|
const WebSocket = Socket.getWebSocketConstructor();
|
|
146
|
-
this.logger.info(`socket,${this.
|
|
141
|
+
this.logger.info(`socket,${this.domain}: creating WebSocket`);
|
|
147
142
|
const socket = new WebSocket(url, [], resolvedOptions);
|
|
148
143
|
socket.binaryType = 'arraybuffer';
|
|
149
144
|
socket.onmessage = this.onmessage;
|
|
150
145
|
socket.onclose = (event) => {
|
|
151
|
-
event = this.
|
|
152
|
-
this.logger.info(`socket,${this.
|
|
146
|
+
event = this.fixCloseCode(event);
|
|
147
|
+
this.logger.info(`socket,${this.domain}: closed before open`, event.code, event.reason);
|
|
153
148
|
switch (event.code) {
|
|
154
149
|
case 1005:
|
|
155
|
-
return reject(new
|
|
150
|
+
return reject(new UnknownResponse(event));
|
|
156
151
|
case 4400:
|
|
157
|
-
return reject(new
|
|
152
|
+
return reject(new BadRequest(event));
|
|
158
153
|
case 4401:
|
|
159
|
-
return reject(new
|
|
154
|
+
return reject(new NotAuthorized(event));
|
|
160
155
|
case 4403:
|
|
161
|
-
return reject(new
|
|
156
|
+
return reject(new Forbidden(event));
|
|
162
157
|
default:
|
|
163
|
-
return reject(new
|
|
158
|
+
return reject(new ConnectionError(event));
|
|
164
159
|
}
|
|
165
160
|
};
|
|
166
161
|
socket.onopen = () => {
|
|
167
|
-
this.logger.info(`socket,${this.
|
|
168
|
-
this.
|
|
162
|
+
this.logger.info(`socket,${this.domain}: connected`);
|
|
163
|
+
this.authorize(this.token)
|
|
169
164
|
.then(() => {
|
|
170
|
-
this.logger.info(`socket,${this.
|
|
165
|
+
this.logger.info(`socket,${this.domain}: authorized`);
|
|
171
166
|
socket.onclose = this.onclose;
|
|
172
167
|
resolve();
|
|
173
168
|
})
|
|
174
169
|
.catch(reject);
|
|
175
170
|
};
|
|
176
171
|
socket.onerror = (event) => {
|
|
177
|
-
this.logger.warn(`socket,${this.
|
|
172
|
+
this.logger.warn(`socket,${this.domain}: error event fired`, event);
|
|
178
173
|
};
|
|
179
174
|
sockets.set(this, socket);
|
|
180
|
-
this.logger.info(`socket,${this.
|
|
175
|
+
this.logger.info(`socket,${this.domain}: waiting for server`);
|
|
181
176
|
});
|
|
182
177
|
}
|
|
183
178
|
onclose(event) {
|
|
184
|
-
this.logger.info(`socket,${this.
|
|
185
|
-
event = this.
|
|
186
|
-
this.
|
|
179
|
+
this.logger.info(`socket,${this.domain}: closed`, event.code, event.reason);
|
|
180
|
+
event = this.fixCloseCode(event);
|
|
181
|
+
this.rejectPendingResponses(new ConnectionError(event));
|
|
187
182
|
this.emit('close', event);
|
|
188
183
|
this.removeAllListeners();
|
|
189
184
|
}
|
|
@@ -192,15 +187,15 @@ export default class Socket extends EventEmitter {
|
|
|
192
187
|
const data = JSON.parse(event.data);
|
|
193
188
|
const processedEvent = { data };
|
|
194
189
|
if (data.type === 'async_event') {
|
|
195
|
-
this.
|
|
196
|
-
this.logger.warn(`socket,${this.
|
|
190
|
+
this.acknowledge(processedEvent).catch((error) => {
|
|
191
|
+
this.logger.warn(`socket,${this.domain}: failed to acknowledge async event`, error);
|
|
197
192
|
});
|
|
198
193
|
}
|
|
199
|
-
this.
|
|
194
|
+
this.handlePendingResponse(data);
|
|
200
195
|
this.emit('message', processedEvent);
|
|
201
196
|
}
|
|
202
197
|
catch (error) {
|
|
203
|
-
this.logger.warn(`socket,${this.
|
|
198
|
+
this.logger.warn(`socket,${this.domain}: error while receiving WebSocket message`, error);
|
|
204
199
|
}
|
|
205
200
|
}
|
|
206
201
|
send(data) {
|
|
@@ -226,53 +221,53 @@ export default class Socket extends EventEmitter {
|
|
|
226
221
|
return Promise.reject(new Error('`data` is required'));
|
|
227
222
|
}
|
|
228
223
|
const request = { ...data };
|
|
229
|
-
const trackingId = request.trackingId || this.
|
|
224
|
+
const trackingId = request.trackingId || this.createTrackingId();
|
|
230
225
|
const timeout = options.timeout || this.wssResponseTimeout || 10000;
|
|
231
226
|
const matchesResponse = options.matchesResponse ||
|
|
232
227
|
((response) => response?.trackingId === trackingId && response?.type === 'response_event');
|
|
233
228
|
const getStatusCode = options.getStatusCode || ((response) => response?.statusCode);
|
|
234
229
|
const getStatusMessage = options.getStatusMessage || ((response) => response?.statusMessage);
|
|
235
230
|
const createError = options.createError ||
|
|
236
|
-
((response, statusCode, statusMessage) => new
|
|
231
|
+
((response, statusCode, statusMessage) => new ConnectionError({
|
|
237
232
|
code: statusCode,
|
|
238
233
|
reason: statusMessage || response?.reason || 'Socket request failed',
|
|
239
234
|
}));
|
|
240
235
|
const createTimeoutError = options.createTimeoutError ||
|
|
241
|
-
(() => new
|
|
236
|
+
(() => new ConnectionError({
|
|
242
237
|
reason: 'Socket response not received before timeout',
|
|
243
238
|
}));
|
|
244
|
-
if (this.
|
|
239
|
+
if (this.pendingResponses.has(trackingId)) {
|
|
245
240
|
return Promise.reject(new Error(`socket request already pending for trackingId ${trackingId}`));
|
|
246
241
|
}
|
|
247
242
|
request.trackingId = trackingId;
|
|
248
243
|
return new Promise((resolve, reject) => {
|
|
249
244
|
const timeoutId = safeSetTimeout(() => {
|
|
250
|
-
this.
|
|
245
|
+
this.clearPendingResponse(trackingId);
|
|
251
246
|
reject(createTimeoutError(request));
|
|
252
247
|
}, timeout);
|
|
253
|
-
this.
|
|
248
|
+
this.pendingResponses.set(trackingId, {
|
|
254
249
|
request,
|
|
255
250
|
matchesResponse,
|
|
256
251
|
getStatusCode,
|
|
257
252
|
getStatusMessage,
|
|
258
253
|
createError,
|
|
259
254
|
resolve: (response) => {
|
|
260
|
-
this.
|
|
255
|
+
this.clearPendingResponse(trackingId);
|
|
261
256
|
resolve(response);
|
|
262
257
|
},
|
|
263
258
|
reject: (error) => {
|
|
264
|
-
this.
|
|
259
|
+
this.clearPendingResponse(trackingId);
|
|
265
260
|
reject(error);
|
|
266
261
|
},
|
|
267
262
|
timeoutId,
|
|
268
263
|
});
|
|
269
264
|
this.send(request).catch((error) => {
|
|
270
|
-
this.
|
|
265
|
+
this.clearPendingResponse(trackingId);
|
|
271
266
|
reject(error);
|
|
272
267
|
});
|
|
273
268
|
});
|
|
274
269
|
}
|
|
275
|
-
|
|
270
|
+
acknowledge(event) {
|
|
276
271
|
if (!event) {
|
|
277
272
|
return Promise.reject(new Error('`event` is required'));
|
|
278
273
|
}
|
|
@@ -284,7 +279,7 @@ export default class Socket extends EventEmitter {
|
|
|
284
279
|
}
|
|
285
280
|
return this.send({
|
|
286
281
|
type: MESSAGE_TYPES.EVENT_ACK,
|
|
287
|
-
trackingId: event.data.trackingId || this.
|
|
282
|
+
trackingId: event.data.trackingId || this.createTrackingId(),
|
|
288
283
|
eventId: event.data.eventId,
|
|
289
284
|
}).catch((error) => {
|
|
290
285
|
if (error.message === 'INVALID_STATE_ERROR') {
|
|
@@ -307,10 +302,10 @@ export default class Socket extends EventEmitter {
|
|
|
307
302
|
else {
|
|
308
303
|
refreshedToken = String(token);
|
|
309
304
|
}
|
|
310
|
-
return this.
|
|
305
|
+
return this.authorize(refreshedToken);
|
|
311
306
|
}
|
|
312
|
-
|
|
313
|
-
this.logger.info(`socket,${this.
|
|
307
|
+
authorize(token) {
|
|
308
|
+
this.logger.info(`socket,${this.domain}: authorizing`);
|
|
314
309
|
return this.sendRequest({
|
|
315
310
|
type: MESSAGE_TYPES.AUTH,
|
|
316
311
|
data: {
|
|
@@ -322,39 +317,39 @@ export default class Socket extends EventEmitter {
|
|
|
322
317
|
response?.trackingId === request.trackingId,
|
|
323
318
|
getStatusCode: (response) => response?.statusCode,
|
|
324
319
|
getStatusMessage: (response) => response?.statusMessage,
|
|
325
|
-
createError: (response, statusCode, statusMessage) => new
|
|
320
|
+
createError: (response, statusCode, statusMessage) => new NotAuthorized({
|
|
326
321
|
code: statusCode,
|
|
327
322
|
reason: statusMessage || 'Mobius auth failed',
|
|
328
323
|
}),
|
|
329
|
-
createTimeoutError: () => new
|
|
324
|
+
createTimeoutError: () => new NotAuthorized({
|
|
330
325
|
reason: 'Mobius auth response not received before timeout',
|
|
331
326
|
}),
|
|
332
327
|
});
|
|
333
328
|
}
|
|
334
|
-
|
|
329
|
+
createTrackingId() {
|
|
335
330
|
return `${this.trackingId}_${crypto.randomUUID()}`;
|
|
336
331
|
}
|
|
337
|
-
|
|
338
|
-
const pendingResponse = this.
|
|
332
|
+
clearPendingResponse(trackingId) {
|
|
333
|
+
const pendingResponse = this.pendingResponses.get(trackingId);
|
|
339
334
|
if (pendingResponse?.timeoutId) {
|
|
340
335
|
clearTimeout(pendingResponse.timeoutId);
|
|
341
336
|
}
|
|
342
|
-
this.
|
|
337
|
+
this.pendingResponses.delete(trackingId);
|
|
343
338
|
}
|
|
344
|
-
|
|
345
|
-
if (!this.
|
|
339
|
+
rejectPendingResponses(error) {
|
|
340
|
+
if (!this.pendingResponses.size) {
|
|
346
341
|
return;
|
|
347
342
|
}
|
|
348
|
-
Array.from(this.
|
|
343
|
+
Array.from(this.pendingResponses.values()).forEach((pendingResponse) => {
|
|
349
344
|
pendingResponse.reject(error);
|
|
350
345
|
});
|
|
351
346
|
}
|
|
352
|
-
|
|
347
|
+
handlePendingResponse(response) {
|
|
353
348
|
if (!response) {
|
|
354
349
|
return false;
|
|
355
350
|
}
|
|
356
351
|
const pendingResponse = response.trackingId
|
|
357
|
-
? this.
|
|
352
|
+
? this.pendingResponses.get(response.trackingId)
|
|
358
353
|
: undefined;
|
|
359
354
|
if (!pendingResponse) {
|
|
360
355
|
return false;
|
|
@@ -367,11 +362,11 @@ export default class Socket extends EventEmitter {
|
|
|
367
362
|
if (statusCode === 440 && response?.subtype !== MESSAGE_TYPES.AUTH) {
|
|
368
363
|
if (typeof this.refreshToken === 'function') {
|
|
369
364
|
Promise.resolve(this.refreshToken(response)).catch((error) => {
|
|
370
|
-
this.logger.warn(`socket,${this.
|
|
365
|
+
this.logger.warn(`socket,${this.domain}: failed token-expiry re-auth`, error);
|
|
371
366
|
});
|
|
372
367
|
}
|
|
373
368
|
else {
|
|
374
|
-
this.logger.warn(`socket,${this.
|
|
369
|
+
this.logger.warn(`socket,${this.domain}: refreshToken callback is unavailable for statusCode 440`);
|
|
375
370
|
}
|
|
376
371
|
}
|
|
377
372
|
if (statusCode === undefined) {
|
|
@@ -385,16 +380,16 @@ export default class Socket extends EventEmitter {
|
|
|
385
380
|
}
|
|
386
381
|
return true;
|
|
387
382
|
}
|
|
388
|
-
|
|
383
|
+
fixCloseCode(event) {
|
|
389
384
|
if (event.code === 1005 && event.reason) {
|
|
390
385
|
switch (event.reason.toLowerCase()) {
|
|
391
386
|
case 'replaced':
|
|
392
|
-
this.logger.info(`socket,${this.
|
|
387
|
+
this.logger.info(`socket,${this.domain}: fixing CloseEvent code for reason: `, event.reason);
|
|
393
388
|
event.code = 4000;
|
|
394
389
|
break;
|
|
395
390
|
case 'authentication failed':
|
|
396
391
|
case 'authentication did not happen within the timeout window of 30000 seconds.':
|
|
397
|
-
this.logger.info(`socket,${this.
|
|
392
|
+
this.logger.info(`socket,${this.domain}: fixing CloseEvent code for reason: `, event.reason);
|
|
398
393
|
event.code = 1008;
|
|
399
394
|
break;
|
|
400
395
|
default:
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../../../src/CallingClient/utils/request.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,mBAAmB,EAAC,MAAM,oBAAoB,CAAC;AAGvD,OAAO,EAAC,gBAAgB,EAAE,iBAAiB,EAAE,gBAAgB,EAAuB,MAAM,SAAS,CAAC;AAqDpG,qBAAa,UAAU;IAErB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAyB;IAChD,OAAO,CAAC,qBAAqB,CAAU;IACvC,OAAO,CAAC,KAAK,CAAW;IAExB,OAAO,CAAC,YAAY,CAAM;IAC1B,OAAO,CAAC,aAAa,CAAiB;IAEtC,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,gBAAgB,GAAG,UAAU;IAQxD,MAAM,CAAC,aAAa,IAAI,IAAI;gBAOhB,MAAM,EAAE,gBAAgB;IAyB7B,eAAe,IAAI,OAAO;IAYpB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IA6ClE,0BAA0B,CAAC,OAAO,CAAC,EAAE;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAC,GAAG,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../../../src/CallingClient/utils/request.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,mBAAmB,EAAC,MAAM,oBAAoB,CAAC;AAGvD,OAAO,EAAC,gBAAgB,EAAE,iBAAiB,EAAE,gBAAgB,EAAuB,MAAM,SAAS,CAAC;AAqDpG,qBAAa,UAAU;IAErB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAyB;IAChD,OAAO,CAAC,qBAAqB,CAAU;IACvC,OAAO,CAAC,KAAK,CAAW;IAExB,OAAO,CAAC,YAAY,CAAM;IAC1B,OAAO,CAAC,aAAa,CAAiB;IAEtC,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,gBAAgB,GAAG,UAAU;IAQxD,MAAM,CAAC,aAAa,IAAI,IAAI;gBAOhB,MAAM,EAAE,gBAAgB;IAyB7B,eAAe,IAAI,OAAO;IAYpB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IA6ClE,0BAA0B,CAAC,OAAO,CAAC,EAAE;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IA0CnF,WAAW,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAuD3E,4BAA4B,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,gBAAgB,KAAK,IAAI,GAAG,IAAI;IAyBzE,8BAA8B,IAAI,IAAI;CAgB9C;AAOD,eAAO,MAAM,gBAAgB,WAAY,gBAAgB,KAAG,UAC5B,CAAC"}
|
|
@@ -19,7 +19,7 @@ export type MobiusSocketResponse = {
|
|
|
19
19
|
metadata?: Record<string, unknown>;
|
|
20
20
|
data?: unknown;
|
|
21
21
|
};
|
|
22
|
-
export type SendWssRequestFn = (data: MobiusSocketRequestOptions,
|
|
22
|
+
export type SendWssRequestFn = (data: MobiusSocketRequestOptions, options?: Record<string, unknown>) => Promise<MobiusSocketResponse>;
|
|
23
23
|
export type MobiusAsyncEvent = {
|
|
24
24
|
type: string;
|
|
25
25
|
eventId: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/CallingClient/utils/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAE,0BAA0B,EAAC,MAAM,kBAAkB,CAAC;AAC5E,OAAO,EAAC,mBAAmB,EAAC,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAC,QAAQ,EAAC,MAAM,0BAA0B,CAAC;AAKlD,MAAM,WAAW,gBAAgB;IAE/B,KAAK,EAAE,QAAQ,CAAC;CACjB;AAKD,MAAM,MAAM,iBAAiB,GAAG,mBAAmB,CAAC;AAKpD,MAAM,WAAW,0BAA0B;IAEzC,IAAI,EAAE,MAAM,CAAC;IAEb,UAAU,EAAE,MAAM,CAAC;IAEnB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEnC,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAKD,MAAM,MAAM,oBAAoB,GAAG;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB,CAAC;AAMF,MAAM,MAAM,gBAAgB,GAAG,CAC7B,IAAI,EAAE,0BAA0B,EAChC,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/CallingClient/utils/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAE,0BAA0B,EAAC,MAAM,kBAAkB,CAAC;AAC5E,OAAO,EAAC,mBAAmB,EAAC,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAC,QAAQ,EAAC,MAAM,0BAA0B,CAAC;AAKlD,MAAM,WAAW,gBAAgB;IAE/B,KAAK,EAAE,QAAQ,CAAC;CACjB;AAKD,MAAM,MAAM,iBAAiB,GAAG,mBAAmB,CAAC;AAKpD,MAAM,WAAW,0BAA0B;IAEzC,IAAI,EAAE,MAAM,CAAC;IAEb,UAAU,EAAE,MAAM,CAAC;IAEnB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEnC,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAKD,MAAM,MAAM,oBAAoB,GAAG;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB,CAAC;AAMF,MAAM,MAAM,gBAAgB,GAAG,CAC7B,IAAI,EAAE,0BAA0B,EAChC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC9B,OAAO,CAAC,oBAAoB,CAAC,CAAC;AAEnC,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,cAAc,GAAG,0BAA0B,CAAC;CACnD,CAAC"}
|
|
@@ -55,13 +55,19 @@ export interface WebexSDK {
|
|
|
55
55
|
};
|
|
56
56
|
config: {
|
|
57
57
|
fedramp: boolean;
|
|
58
|
+
defaultMobiusSocketOptions?: Record<string, unknown>;
|
|
58
59
|
};
|
|
59
60
|
version: string;
|
|
60
61
|
canAuthorize: boolean;
|
|
61
62
|
credentials: {
|
|
62
63
|
getUserToken: () => Promise<string>;
|
|
64
|
+
canRefresh?: boolean;
|
|
65
|
+
refresh?: (options: {
|
|
66
|
+
force: boolean;
|
|
67
|
+
}) => Promise<unknown>;
|
|
63
68
|
};
|
|
64
69
|
ready: boolean;
|
|
70
|
+
sessionId?: string;
|
|
65
71
|
request: <T>(payload: WebexRequestPayload) => Promise<T>;
|
|
66
72
|
internal: {
|
|
67
73
|
mercury: {
|
|
@@ -70,6 +76,9 @@ export interface WebexSDK {
|
|
|
70
76
|
connected: boolean;
|
|
71
77
|
connecting: boolean;
|
|
72
78
|
};
|
|
79
|
+
feature?: {
|
|
80
|
+
updateFeature?: (featureToggle: unknown) => void;
|
|
81
|
+
};
|
|
73
82
|
calendar: unknown;
|
|
74
83
|
device: {
|
|
75
84
|
url: string;
|
|
@@ -77,6 +86,10 @@ export interface WebexSDK {
|
|
|
77
86
|
orgId: string;
|
|
78
87
|
version: string;
|
|
79
88
|
callingBehavior: string;
|
|
89
|
+
registered?: boolean;
|
|
90
|
+
webSocketUrl?: string;
|
|
91
|
+
register?: () => Promise<unknown>;
|
|
92
|
+
refresh?: () => Promise<unknown>;
|
|
80
93
|
settings?: Record<string, {
|
|
81
94
|
value?: boolean;
|
|
82
95
|
} | undefined>;
|
|
@@ -138,6 +151,8 @@ export interface WebexSDK {
|
|
|
138
151
|
get: (service: string) => string;
|
|
139
152
|
getMobiusClusters: () => ServiceHost[];
|
|
140
153
|
fetchClientRegionInfo: () => Promise<ClientRegionInfo>;
|
|
154
|
+
invalidateCache?: (timestamp: unknown) => void;
|
|
155
|
+
switchActiveClusterIds?: (activeClusters: unknown) => void;
|
|
141
156
|
};
|
|
142
157
|
metrics: {
|
|
143
158
|
submitClientMetrics: (name: string, data: unknown) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/SDKConnector/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,kBAAkB,EAAC,MAAM,kCAAkC,CAAC;AACpE,OAAO,EACL,MAAM,EACN,iBAAiB,EACjB,YAAY,EACZ,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,iBAAiB,CAAC;AAGzB,KAAK,QAAQ,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;AACpD,KAAK,WAAW,GAAG,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;AAEvC,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,KAAK,GAAG;IAClB,OAAO,EAAE;QACP,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,aAAa,EAAE;QAEb,QAAQ,EAAE;YACR;gBACE,OAAO,EAAE;oBACP,IAAI,EAAE,MAAM,CAAC;oBACb,KAAK,EAAE,WAAW,EAAE,CAAC;iBACtB,CAAC;aACH;SACF,CAAC;KAEH,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,MAAM,GAAG;IACnB,MAAM,CAAC,EAAE;QACP,KAAK,EAAE,MAAM,CAAC;QACd,cAAc,EAAE,MAAM,CAAC;KACxB,CAAC;IACF,GAAG,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CAClC,CAAC;AAIF,MAAM,WAAW,QAAQ;IACvB,cAAc,EAAE;QACd,GAAG,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,kBAAkB,CAAC,CAAC;QACrE,GAAG,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,kBAAkB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;QAClF,GAAG,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;KACxD,CAAC;IAEF,MAAM,EAAE;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/SDKConnector/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,14 +2,13 @@
|
|
|
2
2
|
* Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
|
|
3
3
|
*/
|
|
4
4
|
export interface MobiusSocketConfig {
|
|
5
|
-
wssResponseTimeout:
|
|
6
|
-
backoffTimeMax:
|
|
7
|
-
backoffTimeReset:
|
|
8
|
-
initialConnectionMaxRetries:
|
|
9
|
-
maxRetries:
|
|
10
|
-
forceCloseDelay:
|
|
11
|
-
|
|
12
|
-
dedupCacheMaxSize: string | number;
|
|
5
|
+
wssResponseTimeout: number;
|
|
6
|
+
backoffTimeMax: number;
|
|
7
|
+
backoffTimeReset: number;
|
|
8
|
+
initialConnectionMaxRetries: number;
|
|
9
|
+
maxRetries: number;
|
|
10
|
+
forceCloseDelay: number;
|
|
11
|
+
dedupCacheMaxSize: number;
|
|
13
12
|
}
|
|
14
13
|
declare const _default: {
|
|
15
14
|
mobiusSocket: MobiusSocketConfig;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/mobius-socket/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,kBAAkB;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/mobius-socket/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,kBAAkB;IAEjC,kBAAkB,EAAE,MAAM,CAAC;IAE3B,cAAc,EAAE,MAAM,CAAC;IAEvB,gBAAgB,EAAE,MAAM,CAAC;IAEzB,2BAA2B,EAAE,MAAM,CAAC;IAEpC,UAAU,EAAE,MAAM,CAAC;IAEnB,eAAe,EAAE,MAAM,CAAC;IAExB,iBAAiB,EAAE,MAAM,CAAC;CAC3B;;;;AAYD,wBAEE"}
|
|
@@ -5,18 +5,25 @@ import { Exception } from '@webex/common';
|
|
|
5
5
|
import type { SocketCloseEvent } from './socket/types';
|
|
6
6
|
export declare class ConnectionError extends Exception {
|
|
7
7
|
static defaultMessage: string;
|
|
8
|
+
code?: number;
|
|
9
|
+
reason?: string;
|
|
10
|
+
constructor(event?: SocketCloseEvent);
|
|
8
11
|
parse(event?: SocketCloseEvent): string | undefined;
|
|
9
12
|
}
|
|
10
13
|
export declare class UnknownResponse extends ConnectionError {
|
|
11
14
|
static defaultMessage: string;
|
|
15
|
+
constructor(event?: SocketCloseEvent);
|
|
12
16
|
}
|
|
13
17
|
export declare class BadRequest extends ConnectionError {
|
|
14
18
|
static defaultMessage: string;
|
|
19
|
+
constructor(event?: SocketCloseEvent);
|
|
15
20
|
}
|
|
16
21
|
export declare class NotAuthorized extends ConnectionError {
|
|
17
22
|
static defaultMessage: string;
|
|
23
|
+
constructor(event?: SocketCloseEvent);
|
|
18
24
|
}
|
|
19
25
|
export declare class Forbidden extends ConnectionError {
|
|
20
26
|
static defaultMessage: string;
|
|
27
|
+
constructor(event?: SocketCloseEvent);
|
|
21
28
|
}
|
|
22
29
|
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/mobius-socket/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAC,SAAS,EAAC,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,gBAAgB,CAAC;AAKrD,qBAAa,eAAgB,SAAQ,SAAS;IAC5C,MAAM,CAAC,cAAc,SAAiC;
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/mobius-socket/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAC,SAAS,EAAC,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,gBAAgB,CAAC;AAKrD,qBAAa,eAAgB,SAAQ,SAAS;IAC5C,MAAM,CAAC,cAAc,SAAiC;IAEtD,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,MAAM,CAAC,EAAE,MAAM,CAAC;gBAGJ,KAAK,CAAC,EAAE,gBAAgB;IAOpC,KAAK,CAAC,KAAK,GAAE,gBAAqB;CAYnC;AAKD,qBAAa,eAAgB,SAAQ,eAAe;IAClD,MAAM,CAAC,cAAc,SACyF;gBAGlG,KAAK,CAAC,EAAE,gBAAgB;CAGrC;AAKD,qBAAa,UAAW,SAAQ,eAAe;IAC7C,MAAM,CAAC,cAAc,SACwD;gBAGjE,KAAK,CAAC,EAAE,gBAAgB;CAGrC;AAKD,qBAAa,aAAc,SAAQ,eAAe;IAChD,MAAM,CAAC,cAAc,SAAsC;gBAG/C,KAAK,CAAC,EAAE,gBAAgB;CAGrC;AAKD,qBAAa,SAAU,SAAQ,eAAe;IAC5C,MAAM,CAAC,cAAc,SAA4E;gBAGrF,KAAK,CAAC,EAAE,gBAAgB;CAGrC"}
|
|
@@ -4,13 +4,11 @@
|
|
|
4
4
|
import '@webex/internal-plugin-device';
|
|
5
5
|
import '@webex/internal-plugin-feature';
|
|
6
6
|
import '@webex/internal-plugin-metrics';
|
|
7
|
+
import type { WebexSDK } from '../SDKConnector/types';
|
|
7
8
|
import MobiusSocket from './mobius-socket';
|
|
8
|
-
import
|
|
9
|
-
export declare function getMobiusSocketInstance(webex:
|
|
9
|
+
import { MobiusSocketConfig } from './config';
|
|
10
|
+
export declare function getMobiusSocketInstance(webex: WebexSDK, mobiusSocketConfig?: Partial<MobiusSocketConfig>): MobiusSocket;
|
|
10
11
|
export declare function resetMobiusSocketInstance(): void;
|
|
11
12
|
export default MobiusSocket;
|
|
12
13
|
export { MobiusSocket };
|
|
13
|
-
export { default as Socket } from './socket';
|
|
14
|
-
export { config };
|
|
15
|
-
export { BadRequest, ConnectionError, Forbidden, NotAuthorized, UnknownResponse } from './errors';
|
|
16
14
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/mobius-socket/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,+BAA+B,CAAC;AACvC,OAAO,gCAAgC,CAAC;AACxC,OAAO,gCAAgC,CAAC;AAExC,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/mobius-socket/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,+BAA+B,CAAC;AACvC,OAAO,gCAAgC,CAAC;AACxC,OAAO,gCAAgC,CAAC;AAExC,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,uBAAuB,CAAC;AACpD,OAAO,YAAY,MAAM,iBAAiB,CAAC;AAC3C,OAAe,EAAC,kBAAkB,EAAC,MAAM,UAAU,CAAC;AAiBpD,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,QAAQ,EACf,kBAAkB,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,GAC/C,YAAY,CAWd;AAMD,wBAAgB,yBAAyB,SAExC;AAED,eAAe,YAAY,CAAC;AAC5B,OAAO,EAAC,YAAY,EAAC,CAAC"}
|
|
@@ -3,44 +3,33 @@
|
|
|
3
3
|
*/
|
|
4
4
|
/// <reference types="node" />
|
|
5
5
|
import { EventEmitter } from 'events';
|
|
6
|
+
import type { WebexSDK } from '../SDKConnector/types';
|
|
7
|
+
import type { MobiusSocketConfig } from './config';
|
|
8
|
+
import type { SocketResponse } from './socket/types';
|
|
9
|
+
import type { MobiusSocketCloseOptions, MobiusSocketDisconnectResult, MobiusSocketRequestOptions, MobiusSocketRequestPayload } from './types';
|
|
6
10
|
declare class MobiusSocket extends EventEmitter {
|
|
7
|
-
constructor(webex:
|
|
8
|
-
off(eventName:
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
_createWssResponseError(response: any, statusCode: any, statusMessage: any): Error;
|
|
30
|
-
_applyOverrides(event: any): void;
|
|
31
|
-
_prepareUrl(webSocketUrl: any): Promise<any>;
|
|
32
|
-
_attemptConnection(socketUrl: any, sessionId: any, callback: any, options?: {}): Promise<any>;
|
|
33
|
-
_prepareAndOpenSocket(socket: any, socketUrl: any, sessionId: any, isShutdownSwitchover?: boolean): Promise<any>;
|
|
34
|
-
_connectWithBackoff(webSocketUrl: any, sessionId: any, context?: {}): Promise<unknown>;
|
|
35
|
-
_emit(sessionId: any, eventName: any, ...args: any[]): void;
|
|
36
|
-
_getEventHandlers(eventType: any): any[];
|
|
37
|
-
_startTokenRefreshTimer(): void;
|
|
38
|
-
_stopTokenRefreshTimer(): void;
|
|
39
|
-
_refreshToken(): any;
|
|
40
|
-
_onclose(sessionId: any, event: any, sourceSocket: any): void;
|
|
41
|
-
_onmessage(sessionId: any, event: any): any;
|
|
42
|
-
_setTimeOffset(sessionId: any, event: any): void;
|
|
43
|
-
_reconnect(webSocketUrl: any, sessionId?: any): any;
|
|
11
|
+
constructor(webex: WebexSDK, config?: Partial<MobiusSocketConfig>);
|
|
12
|
+
off(eventName: string, listener?: (...args: unknown[]) => void): this;
|
|
13
|
+
private attachSocketEventListeners;
|
|
14
|
+
private trackAsyncEventAndShouldSuppressDuplicate;
|
|
15
|
+
private handleImminentShutdown;
|
|
16
|
+
getConnectedWebSocketUrl(): string | undefined;
|
|
17
|
+
sendWssRequest(payload: MobiusSocketRequestPayload, options?: MobiusSocketRequestOptions): Promise<SocketResponse>;
|
|
18
|
+
isConnected(): boolean;
|
|
19
|
+
connect(webSocketUrl?: string): Promise<void>;
|
|
20
|
+
disconnect(options?: MobiusSocketCloseOptions): MobiusSocketDisconnectResult;
|
|
21
|
+
private createWssResponseError;
|
|
22
|
+
private prepareUrl;
|
|
23
|
+
private attemptConnection;
|
|
24
|
+
private prepareAndOpenSocket;
|
|
25
|
+
private connectWithBackoff;
|
|
26
|
+
private emitEvent;
|
|
27
|
+
private startTokenRefreshTimer;
|
|
28
|
+
private stopTokenRefreshTimer;
|
|
29
|
+
private refreshToken;
|
|
30
|
+
private onclose;
|
|
31
|
+
private onmessage;
|
|
32
|
+
private reconnect;
|
|
44
33
|
}
|
|
45
34
|
export default MobiusSocket;
|
|
46
35
|
//# sourceMappingURL=mobius-socket.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mobius-socket.d.ts","sourceRoot":"","sources":["../../../src/mobius-socket/mobius-socket.ts"],"names":[],"mappings":"AAEA;;GAEG;;AAEH,OAAO,EAAC,YAAY,EAAC,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"mobius-socket.d.ts","sourceRoot":"","sources":["../../../src/mobius-socket/mobius-socket.ts"],"names":[],"mappings":"AAEA;;GAEG;;AAEH,OAAO,EAAC,YAAY,EAAC,MAAM,QAAQ,CAAC;AAGpC,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,uBAAuB,CAAC;AAGpD,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,UAAU,CAAC;AACjD,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,gBAAgB,CAAC;AACnD,OAAO,KAAK,EACV,wBAAwB,EACxB,4BAA4B,EAC5B,0BAA0B,EAC1B,0BAA0B,EAE3B,MAAM,SAAS,CAAC;AAYjB,cAAM,YAAa,SAAQ,YAAY;gBACzB,KAAK,EAAE,QAAQ,EAAE,MAAM,GAAE,OAAO,CAAC,kBAAkB,CAAM;IAsB9D,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI;IAerE,OAAO,CAAC,0BAA0B;IAUlC,OAAO,CAAC,yCAAyC;IAwCjD,OAAO,CAAC,sBAAsB;IA8DvB,wBAAwB,IAAI,MAAM,GAAG,SAAS;IAc9C,cAAc,CACnB,OAAO,EAAE,0BAA0B,EACnC,OAAO,GAAE,0BAA+B,GACvC,OAAO,CAAC,cAAc,CAAC;IAsCnB,WAAW,IAAI,OAAO;IAStB,OAAO,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA0D7C,UAAU,CAAC,OAAO,CAAC,EAAE,wBAAwB,GAAG,4BAA4B;IAwCnF,OAAO,CAAC,sBAAsB;IAkB9B,OAAO,CAAC,UAAU;IASlB,OAAO,CAAC,iBAAiB;IAqHzB,OAAO,CAAC,oBAAoB;IAoC5B,OAAO,CAAC,kBAAkB;IAkI1B,OAAO,CAAC,SAAS;IAkBjB,OAAO,CAAC,sBAAsB;IAY9B,OAAO,CAAC,qBAAqB;IAS7B,OAAO,CAAC,YAAY;IA4CpB,OAAO,CAAC,OAAO;IAkGf,OAAO,CAAC,SAAS;IAyDjB,OAAO,CAAC,SAAS;CAKlB;AAED,eAAe,YAAY,CAAC"}
|