@webex/calling 3.12.0-mobius-socket.15 → 3.12.0-mobius-socket.17
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/mobiusSocketMapper.test.js +211 -0
- package/dist/CallingClient/utils/mobiusSocketMapper.test.js.map +1 -0
- package/dist/CallingClient/utils/request.test.js +881 -0
- package/dist/CallingClient/utils/request.test.js.map +1 -0
- package/dist/CallingClient/utils/wsFeatureFlag.test.js +139 -0
- package/dist/CallingClient/utils/wsFeatureFlag.test.js.map +1 -0
- package/dist/Metrics/index.test.js +356 -0
- package/dist/Metrics/index.test.js.map +1 -1
- package/dist/mobius-socket/config.js +8 -8
- package/dist/mobius-socket/config.js.map +1 -1
- package/dist/mobius-socket/errors.js +2 -3
- package/dist/mobius-socket/errors.js.map +1 -1
- package/dist/mobius-socket/index.js +16 -10
- package/dist/mobius-socket/index.js.map +1 -1
- package/dist/mobius-socket/mobius-socket-events.test.js +5 -3
- package/dist/mobius-socket/mobius-socket-events.test.js.map +1 -1
- package/dist/mobius-socket/mobius-socket.js +3 -2
- package/dist/mobius-socket/mobius-socket.js.map +1 -1
- package/dist/mobius-socket/mobius-socket.test.js +6 -4
- package/dist/mobius-socket/mobius-socket.test.js.map +1 -1
- package/dist/mobius-socket/socket/constants.js.map +1 -1
- package/dist/mobius-socket/socket/index.js.map +1 -1
- package/dist/mobius-socket/socket/socket-base.js +57 -32
- package/dist/mobius-socket/socket/socket-base.js.map +1 -1
- package/dist/mobius-socket/socket/socket.js.map +1 -1
- package/dist/mobius-socket/socket/socket.shim.js +3 -13
- package/dist/mobius-socket/socket/socket.shim.js.map +1 -1
- package/dist/mobius-socket/socket/types.js +7 -0
- package/dist/mobius-socket/socket/types.js.map +1 -0
- package/dist/mobius-socket/socket.test.js +36 -36
- package/dist/mobius-socket/socket.test.js.map +1 -1
- package/dist/mobius-socket/test/mocha-helpers.js.map +1 -1
- package/dist/mobius-socket/test/promise-tick.js +2 -3
- package/dist/mobius-socket/test/promise-tick.js.map +1 -1
- package/dist/module/mobius-socket/index.js +4 -1
- package/dist/module/mobius-socket/mobius-socket.js +3 -1
- package/dist/module/mobius-socket/socket/socket-base.js +60 -29
- package/dist/module/mobius-socket/socket/socket.shim.js +3 -15
- package/dist/module/mobius-socket/socket/types.js +1 -0
- package/dist/types/mobius-socket/config.d.ts +15 -12
- package/dist/types/mobius-socket/config.d.ts.map +1 -1
- package/dist/types/mobius-socket/errors.d.ts +15 -6
- package/dist/types/mobius-socket/errors.d.ts.map +1 -1
- package/dist/types/mobius-socket/index.d.ts +14 -7
- package/dist/types/mobius-socket/index.d.ts.map +1 -1
- package/dist/types/mobius-socket/mobius-socket.d.ts +27 -43
- package/dist/types/mobius-socket/mobius-socket.d.ts.map +1 -1
- package/dist/types/mobius-socket/socket/constants.d.ts +2 -2
- package/dist/types/mobius-socket/socket/constants.d.ts.map +1 -1
- package/dist/types/mobius-socket/socket/index.d.ts +4 -1
- package/dist/types/mobius-socket/socket/index.d.ts.map +1 -1
- package/dist/types/mobius-socket/socket/socket-base.d.ts +34 -28
- package/dist/types/mobius-socket/socket/socket-base.d.ts.map +1 -1
- package/dist/types/mobius-socket/socket/socket.d.ts +4 -1
- package/dist/types/mobius-socket/socket/socket.d.ts.map +1 -1
- package/dist/types/mobius-socket/socket/socket.shim.d.ts +4 -1
- package/dist/types/mobius-socket/socket/socket.shim.d.ts.map +1 -1
- package/dist/types/mobius-socket/socket/types.d.ts +69 -0
- package/dist/types/mobius-socket/socket/types.d.ts.map +1 -0
- package/package.json +2 -2
- package/src/mobius-socket/socket/socket.shim.ts +22 -0
- package/src/mobius-socket/socket/{socket.js → socket.ts} +2 -1
- package/src/mobius-socket/socket/socket.shim.js +0 -31
|
@@ -8,7 +8,20 @@ import { defaults, has, isObject } from 'lodash';
|
|
|
8
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;
|
|
11
16
|
export default class Socket extends EventEmitter {
|
|
17
|
+
_domain;
|
|
18
|
+
_pendingResponses;
|
|
19
|
+
forceCloseDelay;
|
|
20
|
+
logger;
|
|
21
|
+
refreshToken;
|
|
22
|
+
token;
|
|
23
|
+
trackingId;
|
|
24
|
+
wssResponseTimeout;
|
|
12
25
|
constructor() {
|
|
13
26
|
super();
|
|
14
27
|
this._domain = 'unknown-domain';
|
|
@@ -52,17 +65,18 @@ export default class Socket extends EventEmitter {
|
|
|
52
65
|
resolve();
|
|
53
66
|
return;
|
|
54
67
|
}
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
return;
|
|
59
|
-
}
|
|
60
|
-
const originalCode = options.code;
|
|
61
|
-
const originalReason = options.reason;
|
|
62
|
-
options = defaults(options, {
|
|
68
|
+
const originalCode = options?.code;
|
|
69
|
+
const originalReason = options?.reason;
|
|
70
|
+
const resolvedOptions = defaults(options || {}, {
|
|
63
71
|
code: 1000,
|
|
64
72
|
reason: 'Done',
|
|
65
73
|
});
|
|
74
|
+
if (resolvedOptions.code &&
|
|
75
|
+
resolvedOptions.code !== 1000 &&
|
|
76
|
+
(resolvedOptions.code < 3000 || resolvedOptions.code > 4999)) {
|
|
77
|
+
reject(new Error('`options.code` must be 1000 or between 3000 and 4999 (inclusive)'));
|
|
78
|
+
return;
|
|
79
|
+
}
|
|
66
80
|
const closeTimer = safeSetTimeout(() => {
|
|
67
81
|
try {
|
|
68
82
|
this.logger.info(`socket,${this._domain}: no close event received, forcing closure`);
|
|
@@ -86,18 +100,21 @@ export default class Socket extends EventEmitter {
|
|
|
86
100
|
if (socket.readyState === SOCKET_READY_STATE.CONNECTING) {
|
|
87
101
|
this.logger.info(`socket,${this._domain}: socket still connecting, triggering close manually`);
|
|
88
102
|
clearTimeout(closeTimer);
|
|
89
|
-
const closeEvent = {
|
|
103
|
+
const closeEvent = {
|
|
104
|
+
code: resolvedOptions.code,
|
|
105
|
+
reason: resolvedOptions.reason,
|
|
106
|
+
};
|
|
90
107
|
this.onclose(closeEvent);
|
|
91
108
|
resolve(closeEvent);
|
|
92
109
|
try {
|
|
93
|
-
socket.close(
|
|
110
|
+
socket.close(resolvedOptions.code, resolvedOptions.reason);
|
|
94
111
|
}
|
|
95
112
|
catch (error) {
|
|
96
113
|
this.logger.info(`socket,${this._domain}: error while closing CONNECTING socket, likely due to browser incompatibility with custom close codes`, error);
|
|
97
114
|
}
|
|
98
115
|
}
|
|
99
116
|
else {
|
|
100
|
-
socket.close(
|
|
117
|
+
socket.close(resolvedOptions.code, resolvedOptions.reason);
|
|
101
118
|
}
|
|
102
119
|
});
|
|
103
120
|
}
|
|
@@ -117,17 +134,17 @@ export default class Socket extends EventEmitter {
|
|
|
117
134
|
reject(new Error('Socket#open() can only be called once per instance'));
|
|
118
135
|
return;
|
|
119
136
|
}
|
|
120
|
-
|
|
121
|
-
checkRequired(['forceCloseDelay', 'token', 'trackingId', 'logger'],
|
|
122
|
-
Object.keys(
|
|
137
|
+
const resolvedOptions = (options || {});
|
|
138
|
+
checkRequired(['forceCloseDelay', 'token', 'trackingId', 'logger'], resolvedOptions);
|
|
139
|
+
Object.keys(resolvedOptions).forEach((key) => {
|
|
123
140
|
Reflect.defineProperty(this, key, {
|
|
124
141
|
enumerable: false,
|
|
125
|
-
value:
|
|
142
|
+
value: resolvedOptions[key],
|
|
126
143
|
});
|
|
127
144
|
});
|
|
128
145
|
const WebSocket = Socket.getWebSocketConstructor();
|
|
129
146
|
this.logger.info(`socket,${this._domain}: creating WebSocket`);
|
|
130
|
-
const socket = new WebSocket(url, [],
|
|
147
|
+
const socket = new WebSocket(url, [], resolvedOptions);
|
|
131
148
|
socket.binaryType = 'arraybuffer';
|
|
132
149
|
socket.onmessage = this.onmessage;
|
|
133
150
|
socket.onclose = (event) => {
|
|
@@ -135,15 +152,15 @@ export default class Socket extends EventEmitter {
|
|
|
135
152
|
this.logger.info(`socket,${this._domain}: closed before open`, event.code, event.reason);
|
|
136
153
|
switch (event.code) {
|
|
137
154
|
case 1005:
|
|
138
|
-
return reject(new
|
|
155
|
+
return reject(new UnknownResponseCtor(event));
|
|
139
156
|
case 4400:
|
|
140
|
-
return reject(new
|
|
157
|
+
return reject(new BadRequestCtor(event));
|
|
141
158
|
case 4401:
|
|
142
|
-
return reject(new
|
|
159
|
+
return reject(new NotAuthorizedCtor(event));
|
|
143
160
|
case 4403:
|
|
144
|
-
return reject(new
|
|
161
|
+
return reject(new ForbiddenCtor(event));
|
|
145
162
|
default:
|
|
146
|
-
return reject(new
|
|
163
|
+
return reject(new ConnectionErrorCtor(event));
|
|
147
164
|
}
|
|
148
165
|
};
|
|
149
166
|
socket.onopen = () => {
|
|
@@ -166,7 +183,7 @@ export default class Socket extends EventEmitter {
|
|
|
166
183
|
onclose(event) {
|
|
167
184
|
this.logger.info(`socket,${this._domain}: closed`, event.code, event.reason);
|
|
168
185
|
event = this._fixCloseCode(event);
|
|
169
|
-
this._rejectPendingResponses(new
|
|
186
|
+
this._rejectPendingResponses(new ConnectionErrorCtor(event));
|
|
170
187
|
this.emit('close', event);
|
|
171
188
|
this.removeAllListeners();
|
|
172
189
|
}
|
|
@@ -189,14 +206,19 @@ export default class Socket extends EventEmitter {
|
|
|
189
206
|
send(data) {
|
|
190
207
|
return new Promise((resolve, reject) => {
|
|
191
208
|
if (this.readyState !== SOCKET_READY_STATE.OPEN) {
|
|
192
|
-
|
|
209
|
+
reject(new Error('INVALID_STATE_ERROR'));
|
|
210
|
+
return;
|
|
193
211
|
}
|
|
194
212
|
if (isObject(data)) {
|
|
195
213
|
data = JSON.stringify(data);
|
|
196
214
|
}
|
|
197
215
|
const socket = sockets.get(this);
|
|
216
|
+
if (!socket) {
|
|
217
|
+
reject(new Error('INVALID_STATE_ERROR'));
|
|
218
|
+
return;
|
|
219
|
+
}
|
|
198
220
|
socket.send(data);
|
|
199
|
-
|
|
221
|
+
resolve();
|
|
200
222
|
});
|
|
201
223
|
}
|
|
202
224
|
sendRequest(data, options = {}) {
|
|
@@ -211,12 +233,12 @@ export default class Socket extends EventEmitter {
|
|
|
211
233
|
const getStatusCode = options.getStatusCode || ((response) => response?.statusCode);
|
|
212
234
|
const getStatusMessage = options.getStatusMessage || ((response) => response?.statusMessage);
|
|
213
235
|
const createError = options.createError ||
|
|
214
|
-
((response, statusCode, statusMessage) => new
|
|
236
|
+
((response, statusCode, statusMessage) => new ConnectionErrorCtor({
|
|
215
237
|
code: statusCode,
|
|
216
238
|
reason: statusMessage || response?.reason || 'Socket request failed',
|
|
217
239
|
}));
|
|
218
240
|
const createTimeoutError = options.createTimeoutError ||
|
|
219
|
-
(() => new
|
|
241
|
+
(() => new ConnectionErrorCtor({
|
|
220
242
|
reason: 'Socket response not received before timeout',
|
|
221
243
|
}));
|
|
222
244
|
if (this._pendingResponses.has(trackingId)) {
|
|
@@ -275,7 +297,16 @@ export default class Socket extends EventEmitter {
|
|
|
275
297
|
if (!token) {
|
|
276
298
|
return Promise.reject(new Error('`token` is required for Socket#refresh()'));
|
|
277
299
|
}
|
|
278
|
-
|
|
300
|
+
let refreshedToken;
|
|
301
|
+
if (typeof token === 'string') {
|
|
302
|
+
refreshedToken = token;
|
|
303
|
+
}
|
|
304
|
+
else if (token && typeof token.toString === 'function') {
|
|
305
|
+
refreshedToken = token.toString();
|
|
306
|
+
}
|
|
307
|
+
else {
|
|
308
|
+
refreshedToken = String(token);
|
|
309
|
+
}
|
|
279
310
|
return this._authorize(refreshedToken);
|
|
280
311
|
}
|
|
281
312
|
_authorize(token) {
|
|
@@ -291,11 +322,11 @@ export default class Socket extends EventEmitter {
|
|
|
291
322
|
response?.trackingId === request.trackingId,
|
|
292
323
|
getStatusCode: (response) => response?.statusCode,
|
|
293
324
|
getStatusMessage: (response) => response?.statusMessage,
|
|
294
|
-
createError: (response, statusCode, statusMessage) => new
|
|
325
|
+
createError: (response, statusCode, statusMessage) => new NotAuthorizedCtor({
|
|
295
326
|
code: statusCode,
|
|
296
327
|
reason: statusMessage || 'Mobius auth failed',
|
|
297
328
|
}),
|
|
298
|
-
createTimeoutError: () => new
|
|
329
|
+
createTimeoutError: () => new NotAuthorizedCtor({
|
|
299
330
|
reason: 'Mobius auth response not received before timeout',
|
|
300
331
|
}),
|
|
301
332
|
});
|
|
@@ -3,22 +3,10 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import Socket from './socket-base';
|
|
5
5
|
Socket.getWebSocketConstructor = function getWebSocketConstructor() {
|
|
6
|
-
let ws;
|
|
7
6
|
if (typeof WebSocket !== 'undefined') {
|
|
8
|
-
|
|
7
|
+
return WebSocket;
|
|
9
8
|
}
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
}
|
|
13
|
-
else if (typeof global !== 'undefined') {
|
|
14
|
-
ws = global.WebSocket || global.MozWebSocket;
|
|
15
|
-
}
|
|
16
|
-
else if (typeof window !== 'undefined') {
|
|
17
|
-
ws = window.WebSocket || window.MozWebSocket;
|
|
18
|
-
}
|
|
19
|
-
else if (typeof self !== 'undefined') {
|
|
20
|
-
ws = self.WebSocket || self.MozWebSocket;
|
|
21
|
-
}
|
|
22
|
-
return ws;
|
|
9
|
+
const scope = typeof globalThis !== 'undefined' ? globalThis : undefined;
|
|
10
|
+
return (scope?.WebSocket || scope?.MozWebSocket);
|
|
23
11
|
};
|
|
24
12
|
export default Socket;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1,15 +1,18 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
|
|
3
|
+
*/
|
|
4
|
+
export interface MobiusSocketConfig {
|
|
5
|
+
wssResponseTimeout: string | number;
|
|
6
|
+
backoffTimeMax: string | number;
|
|
7
|
+
backoffTimeReset: string | number;
|
|
8
|
+
initialConnectionMaxRetries: string | number;
|
|
9
|
+
maxRetries: string | number;
|
|
10
|
+
forceCloseDelay: string | number;
|
|
11
|
+
beforeLogoutOptionsCloseReason: string;
|
|
12
|
+
dedupCacheMaxSize: string | number;
|
|
3
13
|
}
|
|
14
|
+
declare const _default: {
|
|
15
|
+
mobiusSocket: MobiusSocketConfig;
|
|
16
|
+
};
|
|
4
17
|
export default _default;
|
|
5
|
-
declare namespace mobiusSocketConfig {
|
|
6
|
-
const wssResponseTimeout: number;
|
|
7
|
-
const backoffTimeMax: number;
|
|
8
|
-
const backoffTimeReset: number;
|
|
9
|
-
const initialConnectionMaxRetries: number;
|
|
10
|
-
const maxRetries: number;
|
|
11
|
-
const forceCloseDelay: number;
|
|
12
|
-
const beforeLogoutOptionsCloseReason: string;
|
|
13
|
-
const dedupCacheMaxSize: number;
|
|
14
|
-
}
|
|
15
18
|
//# sourceMappingURL=config.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/mobius-socket/config.
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/mobius-socket/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,kBAAkB;IACjC,kBAAkB,EAAE,MAAM,GAAG,MAAM,CAAC;IACpC,cAAc,EAAE,MAAM,GAAG,MAAM,CAAC;IAChC,gBAAgB,EAAE,MAAM,GAAG,MAAM,CAAC;IAClC,2BAA2B,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7C,UAAU,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,eAAe,EAAE,MAAM,GAAG,MAAM,CAAC;IACjC,8BAA8B,EAAE,MAAM,CAAC;IACvC,iBAAiB,EAAE,MAAM,GAAG,MAAM,CAAC;CACpC;;;;AAoDD,wBAEE"}
|
|
@@ -1,13 +1,22 @@
|
|
|
1
|
-
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
|
|
3
|
+
*/
|
|
4
|
+
import { Exception } from '@webex/common';
|
|
5
|
+
import type { SocketCloseEvent } from './socket/types';
|
|
6
|
+
export declare class ConnectionError extends Exception {
|
|
2
7
|
static defaultMessage: string;
|
|
3
|
-
parse(event?:
|
|
8
|
+
parse(event?: SocketCloseEvent): string | undefined;
|
|
4
9
|
}
|
|
5
|
-
export class UnknownResponse extends ConnectionError {
|
|
10
|
+
export declare class UnknownResponse extends ConnectionError {
|
|
11
|
+
static defaultMessage: string;
|
|
6
12
|
}
|
|
7
|
-
export class BadRequest extends ConnectionError {
|
|
13
|
+
export declare class BadRequest extends ConnectionError {
|
|
14
|
+
static defaultMessage: string;
|
|
8
15
|
}
|
|
9
|
-
export class NotAuthorized extends ConnectionError {
|
|
16
|
+
export declare class NotAuthorized extends ConnectionError {
|
|
17
|
+
static defaultMessage: string;
|
|
10
18
|
}
|
|
11
|
-
export class Forbidden extends ConnectionError {
|
|
19
|
+
export declare class Forbidden extends ConnectionError {
|
|
20
|
+
static defaultMessage: string;
|
|
12
21
|
}
|
|
13
22
|
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/mobius-socket/errors.
|
|
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;IAKtD,KAAK,CAAC,KAAK,GAAE,gBAAqB;CAYnC;AAKD,qBAAa,eAAgB,SAAQ,eAAe;IAClD,MAAM,CAAC,cAAc,SACyF;CAC/G;AAKD,qBAAa,UAAW,SAAQ,eAAe;IAC7C,MAAM,CAAC,cAAc,SACwD;CAC9E;AAKD,qBAAa,aAAc,SAAQ,eAAe;IAChD,MAAM,CAAC,cAAc,SAAsC;CAC5D;AAKD,qBAAa,SAAU,SAAQ,eAAe;IAC5C,MAAM,CAAC,cAAc,SAA4E;CAClG"}
|
|
@@ -1,9 +1,16 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
|
|
3
|
+
*/
|
|
4
|
+
import '@webex/internal-plugin-device';
|
|
5
|
+
import '@webex/internal-plugin-feature';
|
|
6
|
+
import '@webex/internal-plugin-metrics';
|
|
7
|
+
import MobiusSocket from './mobius-socket';
|
|
8
|
+
import config, { MobiusSocketConfig } from './config';
|
|
9
|
+
export declare function getMobiusSocketInstance(webex: any, mobiusSocketConfig?: Partial<MobiusSocketConfig>): MobiusSocket;
|
|
10
|
+
export declare function resetMobiusSocketInstance(): void;
|
|
3
11
|
export default MobiusSocket;
|
|
4
|
-
export {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
export {
|
|
8
|
-
export { BadRequest, ConnectionError, Forbidden, NotAuthorized, UnknownResponse } from "./errors";
|
|
12
|
+
export { MobiusSocket };
|
|
13
|
+
export { default as Socket } from './socket';
|
|
14
|
+
export { config };
|
|
15
|
+
export { BadRequest, ConnectionError, Forbidden, NotAuthorized, UnknownResponse } from './errors';
|
|
9
16
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/mobius-socket/index.
|
|
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,YAAY,MAAM,iBAAiB,CAAC;AAC3C,OAAO,MAAM,EAAE,EAAC,kBAAkB,EAAC,MAAM,UAAU,CAAC;AAiBpD,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,GAAG,EACV,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;AACtB,OAAO,EAAC,OAAO,IAAI,MAAM,EAAC,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAC,MAAM,EAAC,CAAC;AAChB,OAAO,EAAC,UAAU,EAAE,eAAe,EAAE,SAAS,EAAE,aAAa,EAAE,eAAe,EAAC,MAAM,UAAU,CAAC"}
|
|
@@ -1,52 +1,37 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file
|
|
3
|
+
*/
|
|
4
|
+
/// <reference types="node" />
|
|
5
|
+
import { EventEmitter } from 'events';
|
|
6
|
+
declare class MobiusSocket extends EventEmitter {
|
|
3
7
|
constructor(webex: any, config?: {});
|
|
4
|
-
|
|
5
|
-
config: {};
|
|
6
|
-
logger: any;
|
|
7
|
-
defaultSessionId: string;
|
|
8
|
-
connected: boolean;
|
|
9
|
-
connecting: boolean;
|
|
10
|
-
hasEverConnected: boolean;
|
|
11
|
-
socket: any;
|
|
12
|
-
sockets: Map<any, any>;
|
|
13
|
-
backoffCalls: Map<any, any>;
|
|
14
|
-
_shutdownSwitchoverBackoffCalls: Map<any, any>;
|
|
15
|
-
_seenAsyncEventIdsBySession: Map<any, any>;
|
|
16
|
-
_connectPromises: Map<any, any>;
|
|
17
|
-
mercuryTimeOffset: number | undefined;
|
|
18
|
-
_tokenRefreshTimer: NodeJS.Timeout | undefined;
|
|
19
|
-
_tokenRefreshInFlight: any;
|
|
20
|
-
off(eventName: any, listener: any): MobiusSocket;
|
|
8
|
+
off(eventName: any, listener: any): this;
|
|
21
9
|
_bindInternalEvents(): void;
|
|
22
|
-
_attachSocketEventListeners(socket:
|
|
23
|
-
_getSeenAsyncEventIds(sessionId:
|
|
24
|
-
_clearSeenAsyncEventIds(sessionId
|
|
25
|
-
_trackAsyncEventAndShouldSuppressDuplicate(sessionId:
|
|
26
|
-
_handleImminentShutdown(sessionId:
|
|
10
|
+
_attachSocketEventListeners(socket: any, sessionId: any): void;
|
|
11
|
+
_getSeenAsyncEventIds(sessionId: any): any;
|
|
12
|
+
_clearSeenAsyncEventIds(sessionId: any): void;
|
|
13
|
+
_trackAsyncEventAndShouldSuppressDuplicate(sessionId: any, envelope: any): boolean;
|
|
14
|
+
_handleImminentShutdown(sessionId: any): void;
|
|
27
15
|
getLastError(): any;
|
|
28
|
-
getSockets():
|
|
29
|
-
getSocket(sessionId?:
|
|
30
|
-
getConnectedWebSocketUrl(sessionId?:
|
|
31
|
-
send(payload:
|
|
32
|
-
sendWssRequest(payload:
|
|
33
|
-
isConnected():
|
|
34
|
-
hasConnectedSockets(sessionId
|
|
35
|
-
hasConnectingSockets(sessionId?:
|
|
36
|
-
connect(webSocketUrl
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
disconnectAll(options: object): Promise<any>;
|
|
16
|
+
getSockets(): any;
|
|
17
|
+
getSocket(sessionId?: any): any;
|
|
18
|
+
getConnectedWebSocketUrl(sessionId?: any): any;
|
|
19
|
+
send(payload: any, sessionId?: any): any;
|
|
20
|
+
sendWssRequest(payload: any, sessionIdOrOptions?: any, options?: {}): any;
|
|
21
|
+
isConnected(): any;
|
|
22
|
+
hasConnectedSockets(sessionId: any): boolean;
|
|
23
|
+
hasConnectingSockets(sessionId?: any): boolean;
|
|
24
|
+
connect(webSocketUrl: any, sessionId?: any): any;
|
|
25
|
+
logout(): Promise<void>;
|
|
26
|
+
disconnect(options: any, sessionId?: any): Promise<any>;
|
|
27
|
+
disconnectAll(options: any): Promise<void>;
|
|
41
28
|
processRegistrationStatusEvent(message: any): void;
|
|
42
|
-
localClusterServiceUrls: any;
|
|
43
29
|
_createWssResponseError(response: any, statusCode: any, statusMessage: any): Error;
|
|
44
30
|
_applyOverrides(event: any): void;
|
|
45
31
|
_prepareUrl(webSocketUrl: any): Promise<any>;
|
|
46
32
|
_attemptConnection(socketUrl: any, sessionId: any, callback: any, options?: {}): Promise<any>;
|
|
47
|
-
lastError: any;
|
|
48
33
|
_prepareAndOpenSocket(socket: any, socketUrl: any, sessionId: any, isShutdownSwitchover?: boolean): Promise<any>;
|
|
49
|
-
_connectWithBackoff(webSocketUrl: any, sessionId: any, context?: {}): Promise<
|
|
34
|
+
_connectWithBackoff(webSocketUrl: any, sessionId: any, context?: {}): Promise<unknown>;
|
|
50
35
|
_emit(sessionId: any, eventName: any, ...args: any[]): void;
|
|
51
36
|
_getEventHandlers(eventType: any): any[];
|
|
52
37
|
_startTokenRefreshTimer(): void;
|
|
@@ -55,8 +40,7 @@ declare class MobiusSocket extends EventEmitter<[never]> {
|
|
|
55
40
|
_onclose(sessionId: any, event: any, sourceSocket: any): void;
|
|
56
41
|
_onmessage(sessionId: any, event: any): any;
|
|
57
42
|
_setTimeOffset(sessionId: any, event: any): void;
|
|
58
|
-
_reconnect(webSocketUrl: any, sessionId?:
|
|
43
|
+
_reconnect(webSocketUrl: any, sessionId?: any): any;
|
|
59
44
|
}
|
|
60
|
-
|
|
61
|
-
import Socket from "./socket";
|
|
45
|
+
export default MobiusSocket;
|
|
62
46
|
//# sourceMappingURL=mobius-socket.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mobius-socket.d.ts","sourceRoot":"","sources":["../../../src/mobius-socket/mobius-socket.
|
|
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;AA0BpC,cAAM,YAAa,SAAQ,YAAY;gBACzB,KAAK,KAAA,EAAE,MAAM,KAAK;IA2B9B,GAAG,CAAC,SAAS,KAAA,EAAE,QAAQ,KAAA;IAUvB,mBAAmB;IA8CnB,2BAA2B,CAAC,MAAM,KAAA,EAAE,SAAS,KAAA;IAiB7C,qBAAqB,CAAC,SAAS,KAAA;IAgB/B,uBAAuB,CAAC,SAAS,KAAA;IAgBjC,0CAA0C,CAAC,SAAS,KAAA,EAAE,QAAQ,KAAA;IA4C9D,uBAAuB,CAAC,SAAS,KAAA;IAuEjC,YAAY;IAQZ,UAAU;IASV,SAAS,CAAC,SAAS,MAAwB;IAS3C,wBAAwB,CAAC,SAAS,MAAwB;IAgB1D,IAAI,CAAC,OAAO,KAAA,EAAE,SAAS,MAAwB;IAiB/C,cAAc,CAAC,OAAO,KAAA,EAAE,kBAAkB,MAAwB,EAAE,OAAO,KAAK;IA+ChF,WAAW;IASX,mBAAmB,CAAC,SAAS,KAAA;IAmB7B,oBAAoB,CAAC,SAAS,MAAwB;IAYtD,OAAO,CAAC,YAAY,KAAA,EAAE,SAAS,MAAwB;IA0DvD,MAAM;IAiBN,UAAU,CAAC,OAAO,KAAA,EAAE,SAAS,MAAwB;IAuDrD,aAAa,CAAC,OAAO,KAAA;IAmBrB,8BAA8B,CAAC,OAAO,KAAA;IAItC,uBAAuB,CAAC,QAAQ,KAAA,EAAE,UAAU,KAAA,EAAE,aAAa,KAAA;IAc3D,eAAe,CAAC,KAAK,KAAA;IAWrB,WAAW,CAAC,YAAY,KAAA;IAkBxB,kBAAkB,CAAC,SAAS,KAAA,EAAE,SAAS,KAAA,EAAE,QAAQ,KAAA,EAAE,OAAO,KAAK;IAmI/D,qBAAqB,CAAC,MAAM,KAAA,EAAE,SAAS,KAAA,EAAE,SAAS,KAAA,EAAE,oBAAoB,UAAQ;IAuChF,mBAAmB,CAAC,YAAY,KAAA,EAAE,SAAS,KAAA,EAAE,OAAO,KAAK;IAqIzD,KAAK,CAAC,SAAS,KAAA,EAAE,SAAS,KAAA,EAAE,GAAG,IAAI,OAAA;IA0BnC,iBAAiB,CAAC,SAAS,KAAA;IAuB3B,uBAAuB;IAYvB,sBAAsB;IAStB,aAAa;IA+Cb,QAAQ,CAAC,SAAS,KAAA,EAAE,KAAK,KAAA,EAAE,YAAY,KAAA;IAkIvC,UAAU,CAAC,SAAS,KAAA,EAAE,KAAK,KAAA;IAqF3B,cAAc,CAAC,SAAS,KAAA,EAAE,KAAK,KAAA;IAO/B,UAAU,CAAC,YAAY,KAAA,EAAE,SAAS,MAAwB;CAK3D;AAED,eAAe,YAAY,CAAC"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
export const SOCKET_READY_STATE: Readonly<{
|
|
1
|
+
export declare const SOCKET_READY_STATE: Readonly<{
|
|
2
2
|
CONNECTING: 0;
|
|
3
3
|
OPEN: 1;
|
|
4
4
|
CLOSING: 2;
|
|
5
5
|
CLOSED: 3;
|
|
6
6
|
}>;
|
|
7
|
-
export const MESSAGE_TYPES: Readonly<{
|
|
7
|
+
export declare const MESSAGE_TYPES: Readonly<{
|
|
8
8
|
AUTH: "auth";
|
|
9
9
|
EVENT_ACK: "event_ack";
|
|
10
10
|
}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/mobius-socket/socket/constants.
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/mobius-socket/socket/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB;;;;;EAK7B,CAAC;AAEH,eAAO,MAAM,aAAa;;;EAGxB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/mobius-socket/socket/index.
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/mobius-socket/socket/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAC,OAAO,EAAC,MAAM,UAAU,CAAC"}
|
|
@@ -1,38 +1,44 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
|
|
3
|
+
*/
|
|
4
|
+
/// <reference types="node" />
|
|
5
|
+
import { EventEmitter } from 'events';
|
|
6
|
+
import type { SocketCloseEvent, SocketLogger, SocketMessageEvent, PendingResponseEntry, SendRequestOptions, SocketOpenOptions, SocketResponse } from './types';
|
|
7
|
+
export default class Socket extends EventEmitter {
|
|
4
8
|
_domain: string;
|
|
5
|
-
_pendingResponses: Map<
|
|
6
|
-
|
|
7
|
-
|
|
9
|
+
_pendingResponses: Map<string, PendingResponseEntry>;
|
|
10
|
+
forceCloseDelay: number;
|
|
11
|
+
logger: SocketLogger;
|
|
12
|
+
refreshToken?: (response: SocketResponse) => unknown;
|
|
13
|
+
token: string;
|
|
14
|
+
trackingId: string;
|
|
15
|
+
wssResponseTimeout?: number;
|
|
16
|
+
constructor();
|
|
8
17
|
get binaryType(): string;
|
|
9
18
|
get bufferedAmount(): number;
|
|
10
19
|
get extensions(): string;
|
|
11
20
|
get protocol(): string;
|
|
12
21
|
get readyState(): number;
|
|
13
22
|
get url(): string;
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
_authorize(token: string): Promise<any>;
|
|
31
|
-
private _createTrackingId;
|
|
23
|
+
static getWebSocketConstructor(): unknown;
|
|
24
|
+
close(options?: {
|
|
25
|
+
reason?: string;
|
|
26
|
+
code?: number;
|
|
27
|
+
}): Promise<void | SocketCloseEvent>;
|
|
28
|
+
open(url: string, options?: SocketOpenOptions): Promise<void>;
|
|
29
|
+
onclose(event: SocketCloseEvent): void;
|
|
30
|
+
onmessage(event: SocketMessageEvent<string>): void;
|
|
31
|
+
send(data: string | Record<string, unknown>): Promise<void>;
|
|
32
|
+
sendRequest(data: SocketResponse, options?: SendRequestOptions): Promise<SocketResponse>;
|
|
33
|
+
_acknowledge(event: SocketMessageEvent<SocketResponse>): Promise<void>;
|
|
34
|
+
refresh(token: string | {
|
|
35
|
+
toString(): string;
|
|
36
|
+
}): Promise<SocketResponse>;
|
|
37
|
+
_authorize(token: string): Promise<SocketResponse>;
|
|
38
|
+
_createTrackingId(): string;
|
|
32
39
|
_clearPendingResponse(trackingId: string): void;
|
|
33
|
-
_rejectPendingResponses(error:
|
|
34
|
-
_handlePendingResponse(response:
|
|
35
|
-
|
|
40
|
+
_rejectPendingResponses(error: unknown): void;
|
|
41
|
+
_handlePendingResponse(response: SocketResponse): boolean;
|
|
42
|
+
_fixCloseCode(event: SocketCloseEvent): SocketCloseEvent;
|
|
36
43
|
}
|
|
37
|
-
import { EventEmitter } from "events";
|
|
38
44
|
//# sourceMappingURL=socket-base.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"socket-base.d.ts","sourceRoot":"","sources":["../../../../src/mobius-socket/socket/socket-base.
|
|
1
|
+
{"version":3,"file":"socket-base.d.ts","sourceRoot":"","sources":["../../../../src/mobius-socket/socket/socket-base.ts"],"names":[],"mappings":"AAAA;;GAEG;;AAEH,OAAO,EAAC,YAAY,EAAC,MAAM,QAAQ,CAAC;AAiBpC,OAAO,KAAK,EACV,gBAAgB,EAChB,YAAY,EACZ,kBAAkB,EAClB,oBAAoB,EACpB,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,EAGf,MAAM,SAAS,CAAC;AAkBjB,MAAM,CAAC,OAAO,OAAO,MAAO,SAAQ,YAAY;IAC9C,OAAO,EAAE,MAAM,CAAC;IAEhB,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;IAErD,eAAe,EAAG,MAAM,CAAC;IAEzB,MAAM,EAAG,YAAY,CAAC;IAEtB,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,cAAc,KAAK,OAAO,CAAC;IAErD,KAAK,EAAG,MAAM,CAAC;IAEf,UAAU,EAAG,MAAM,CAAC;IAEpB,kBAAkB,CAAC,EAAE,MAAM,CAAC;;IAoB5B,IAAI,UAAU,WAEb;IAMD,IAAI,cAAc,WAEjB;IAMD,IAAI,UAAU,WAEb;IAMD,IAAI,QAAQ,WAEX;IAMD,IAAI,UAAU,WAEb;IAMD,IAAI,GAAG,WAEN;IAOD,MAAM,CAAC,uBAAuB,IAAI,OAAO;IAazC,KAAK,CAAC,OAAO,CAAC,EAAE;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAC;IAuGhD,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,iBAAiB;IAwF7C,OAAO,CAAC,KAAK,EAAE,gBAAgB;IAiB/B,SAAS,CAAC,KAAK,EAAE,kBAAkB,CAAC,MAAM,CAAC;IA0B3C,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAsC3C,WAAW,CAAC,IAAI,EAAE,cAAc,EAAE,OAAO,GAAE,kBAAuB;IAsElE,YAAY,CAAC,KAAK,EAAE,kBAAkB,CAAC,cAAc,CAAC;IA0BtD,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG;QAAC,QAAQ,IAAI,MAAM,CAAA;KAAC;IAuB5C,UAAU,CAAC,KAAK,EAAE,MAAM;IAmCxB,iBAAiB;IASjB,qBAAqB,CAAC,UAAU,EAAE,MAAM;IAexC,uBAAuB,CAAC,KAAK,EAAE,OAAO;IAetC,sBAAsB,CAAC,QAAQ,EAAE,cAAc;IAyD/C,aAAa,CAAC,KAAK,EAAE,gBAAgB;CAyBtC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"socket.d.ts","sourceRoot":"","sources":["../../../../src/mobius-socket/socket/socket.
|
|
1
|
+
{"version":3,"file":"socket.d.ts","sourceRoot":"","sources":["../../../../src/mobius-socket/socket/socket.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,MAAM,MAAM,eAAe,CAAC;AAOnC,eAAe,MAAM,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"socket.shim.d.ts","sourceRoot":"","sources":["../../../../src/mobius-socket/socket/socket.shim.
|
|
1
|
+
{"version":3,"file":"socket.shim.d.ts","sourceRoot":"","sources":["../../../../src/mobius-socket/socket/socket.shim.ts"],"names":[],"mappings":"AAEA;;GAEG;AAIH,OAAO,MAAM,MAAM,eAAe,CAAC;AAanC,eAAe,MAAM,CAAC"}
|