gateio-api 1.1.11 → 1.1.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +93 -86
- package/dist/cjs/WebsocketAPIClient.d.ts +136 -0
- package/dist/cjs/WebsocketAPIClient.js +197 -0
- package/dist/cjs/WebsocketAPIClient.js.map +1 -0
- package/dist/cjs/WebsocketClient.d.ts +14 -2
- package/dist/cjs/WebsocketClient.js +102 -20
- package/dist/cjs/WebsocketClient.js.map +1 -1
- package/dist/cjs/index.d.ts +1 -0
- package/dist/cjs/index.js +1 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/lib/BaseRestClient.js +17 -0
- package/dist/cjs/lib/BaseRestClient.js.map +1 -1
- package/dist/cjs/lib/BaseWSClient.d.ts +14 -3
- package/dist/cjs/lib/BaseWSClient.js +95 -24
- package/dist/cjs/lib/BaseWSClient.js.map +1 -1
- package/dist/cjs/lib/logger.d.ts +1 -0
- package/dist/cjs/lib/requestUtils.d.ts +11 -0
- package/dist/cjs/lib/requestUtils.js.map +1 -1
- package/dist/cjs/lib/websocket/WsStore.d.ts +13 -2
- package/dist/cjs/lib/websocket/WsStore.js +44 -19
- package/dist/cjs/lib/websocket/WsStore.js.map +1 -1
- package/dist/cjs/lib/websocket/WsStore.types.d.ts +10 -3
- package/dist/cjs/lib/websocket/WsStore.types.js +1 -1
- package/dist/cjs/lib/websocket/WsStore.types.js.map +1 -1
- package/dist/cjs/types/websockets/wsAPI.d.ts +193 -38
- package/dist/cjs/types/websockets/wsAPI.js +0 -5
- package/dist/cjs/types/websockets/wsAPI.js.map +1 -1
- package/dist/mjs/WebsocketAPIClient.d.ts +136 -0
- package/dist/mjs/WebsocketAPIClient.js +193 -0
- package/dist/mjs/WebsocketAPIClient.js.map +1 -0
- package/dist/mjs/WebsocketClient.d.ts +14 -2
- package/dist/mjs/WebsocketClient.js +102 -20
- package/dist/mjs/WebsocketClient.js.map +1 -1
- package/dist/mjs/index.d.ts +1 -0
- package/dist/mjs/index.js +1 -0
- package/dist/mjs/index.js.map +1 -1
- package/dist/mjs/lib/BaseRestClient.js +17 -0
- package/dist/mjs/lib/BaseRestClient.js.map +1 -1
- package/dist/mjs/lib/BaseWSClient.d.ts +14 -3
- package/dist/mjs/lib/BaseWSClient.js +95 -24
- package/dist/mjs/lib/BaseWSClient.js.map +1 -1
- package/dist/mjs/lib/logger.d.ts +1 -0
- package/dist/mjs/lib/requestUtils.d.ts +11 -0
- package/dist/mjs/lib/requestUtils.js.map +1 -1
- package/dist/mjs/lib/websocket/WsStore.d.ts +13 -2
- package/dist/mjs/lib/websocket/WsStore.js +39 -14
- package/dist/mjs/lib/websocket/WsStore.js.map +1 -1
- package/dist/mjs/lib/websocket/WsStore.types.d.ts +10 -3
- package/dist/mjs/lib/websocket/WsStore.types.js +1 -1
- package/dist/mjs/lib/websocket/WsStore.types.js.map +1 -1
- package/dist/mjs/types/websockets/wsAPI.d.ts +193 -38
- package/dist/mjs/types/websockets/wsAPI.js +0 -5
- package/dist/mjs/types/websockets/wsAPI.js.map +1 -1
- package/package.json +6 -2
|
@@ -46,6 +46,7 @@ class BaseWebsocketClient extends events_1.default {
|
|
|
46
46
|
logger;
|
|
47
47
|
options;
|
|
48
48
|
wsApiRequestId = 0;
|
|
49
|
+
timeOffsetMs = 0;
|
|
49
50
|
constructor(options, logger) {
|
|
50
51
|
super();
|
|
51
52
|
this.logger = logger || logger_js_1.DefaultLogger;
|
|
@@ -72,6 +73,13 @@ class BaseWebsocketClient extends events_1.default {
|
|
|
72
73
|
getNewRequestId() {
|
|
73
74
|
return `${++this.wsApiRequestId}`;
|
|
74
75
|
}
|
|
76
|
+
getTimeOffsetMs() {
|
|
77
|
+
return this.timeOffsetMs;
|
|
78
|
+
}
|
|
79
|
+
// TODO: not implemented
|
|
80
|
+
setTimeOffsetMs(newOffset) {
|
|
81
|
+
this.timeOffsetMs = newOffset;
|
|
82
|
+
}
|
|
75
83
|
/**
|
|
76
84
|
* Don't call directly! Use subscribe() instead!
|
|
77
85
|
*
|
|
@@ -196,11 +204,11 @@ class BaseWebsocketClient extends events_1.default {
|
|
|
196
204
|
try {
|
|
197
205
|
if (this.wsStore.isWsOpen(wsKey)) {
|
|
198
206
|
this.logger.error('Refused to connect to ws with existing active connection', { ...WebsocketClient_js_1.WS_LOGGER_CATEGORY, wsKey });
|
|
199
|
-
return { wsKey };
|
|
207
|
+
return { wsKey, ws: this.wsStore.getWs(wsKey) };
|
|
200
208
|
}
|
|
201
209
|
if (this.wsStore.isConnectionState(wsKey, WsStore_types_js_1.WsConnectionStateEnum.CONNECTING)) {
|
|
202
210
|
this.logger.error('Refused to connect to ws, connection attempt already active', { ...WebsocketClient_js_1.WS_LOGGER_CATEGORY, wsKey });
|
|
203
|
-
return;
|
|
211
|
+
return this.wsStore.getConnectionInProgressPromise(wsKey)?.promise;
|
|
204
212
|
}
|
|
205
213
|
if (!this.wsStore.getConnectionState(wsKey) ||
|
|
206
214
|
this.wsStore.isConnectionState(wsKey, WsStore_types_js_1.WsConnectionStateEnum.INITIAL)) {
|
|
@@ -212,12 +220,12 @@ class BaseWebsocketClient extends events_1.default {
|
|
|
212
220
|
const url = this.getWsUrl(wsKey);
|
|
213
221
|
const ws = this.connectToWsUrl(url, wsKey);
|
|
214
222
|
this.wsStore.setWs(wsKey, ws);
|
|
215
|
-
return this.wsStore.getConnectionInProgressPromise(wsKey)?.promise;
|
|
216
223
|
}
|
|
217
224
|
catch (err) {
|
|
218
225
|
this.parseWsError('Connection failed', err, wsKey);
|
|
219
226
|
this.reconnectWithDelay(wsKey, this.options.reconnectTimeout);
|
|
220
227
|
}
|
|
228
|
+
return this.wsStore.getConnectionInProgressPromise(wsKey)?.promise;
|
|
221
229
|
}
|
|
222
230
|
connectToWsUrl(url, wsKey) {
|
|
223
231
|
this.logger.trace(`Opening WS connection to URL: ${url}`, {
|
|
@@ -225,7 +233,7 @@ class BaseWebsocketClient extends events_1.default {
|
|
|
225
233
|
wsKey,
|
|
226
234
|
});
|
|
227
235
|
const ws = new isomorphic_ws_1.default(url, undefined);
|
|
228
|
-
ws.onopen = (event) => this.onWsOpen(event, wsKey);
|
|
236
|
+
ws.onopen = (event) => this.onWsOpen(event, wsKey, url, ws);
|
|
229
237
|
ws.onmessage = (event) => this.onWsMessage(event, wsKey, ws);
|
|
230
238
|
ws.onerror = (event) => this.parseWsError('websocket error', event, wsKey);
|
|
231
239
|
ws.onclose = (event) => this.onWsClose(event, wsKey);
|
|
@@ -259,9 +267,14 @@ class BaseWebsocketClient extends events_1.default {
|
|
|
259
267
|
...WebsocketClient_js_1.WS_LOGGER_CATEGORY,
|
|
260
268
|
wsKey,
|
|
261
269
|
});
|
|
270
|
+
await this.assertIsConnected(wsKey);
|
|
271
|
+
if (!this.wsStore.getAuthenticationInProgressPromise(wsKey)) {
|
|
272
|
+
this.wsStore.createAuthenticationInProgressPromise(wsKey, false);
|
|
273
|
+
}
|
|
262
274
|
const request = await this.getWsAuthRequestEvent(wsKey);
|
|
263
275
|
// console.log('ws auth req', request);
|
|
264
|
-
|
|
276
|
+
this.tryWsSend(wsKey, JSON.stringify(request));
|
|
277
|
+
return this.wsStore.getAuthenticationInProgressPromise(wsKey)?.promise;
|
|
265
278
|
}
|
|
266
279
|
catch (e) {
|
|
267
280
|
this.logger.trace(e, { ...WebsocketClient_js_1.WS_LOGGER_CATEGORY, wsKey });
|
|
@@ -368,7 +381,7 @@ class BaseWebsocketClient extends events_1.default {
|
|
|
368
381
|
/**
|
|
369
382
|
* Try sending a string event on a WS connection (identified by the WS Key)
|
|
370
383
|
*/
|
|
371
|
-
tryWsSend(wsKey, wsMessage) {
|
|
384
|
+
tryWsSend(wsKey, wsMessage, throwExceptions) {
|
|
372
385
|
try {
|
|
373
386
|
this.logger.trace(`Sending upstream ws message: `, {
|
|
374
387
|
...WebsocketClient_js_1.WS_LOGGER_CATEGORY,
|
|
@@ -391,23 +404,27 @@ class BaseWebsocketClient extends events_1.default {
|
|
|
391
404
|
wsKey,
|
|
392
405
|
exception: e,
|
|
393
406
|
});
|
|
407
|
+
if (throwExceptions) {
|
|
408
|
+
throw e;
|
|
409
|
+
}
|
|
394
410
|
}
|
|
395
411
|
}
|
|
396
|
-
async onWsOpen(event, wsKey) {
|
|
412
|
+
async onWsOpen(event, wsKey, url, ws) {
|
|
413
|
+
const isFreshConnectionAttempt = this.wsStore.isConnectionState(wsKey, WsStore_types_js_1.WsConnectionStateEnum.CONNECTING);
|
|
397
414
|
const didReconnectSuccessfully = this.wsStore.isConnectionState(wsKey, WsStore_types_js_1.WsConnectionStateEnum.RECONNECTING);
|
|
398
|
-
if (
|
|
415
|
+
if (isFreshConnectionAttempt) {
|
|
399
416
|
this.logger.info('Websocket connected', {
|
|
400
417
|
...WebsocketClient_js_1.WS_LOGGER_CATEGORY,
|
|
401
418
|
wsKey,
|
|
402
419
|
});
|
|
403
|
-
this.emit('open', { wsKey, event });
|
|
420
|
+
this.emit('open', { wsKey, event, wsUrl: url, ws });
|
|
404
421
|
}
|
|
405
422
|
else if (didReconnectSuccessfully) {
|
|
406
423
|
this.logger.info('Websocket reconnected', {
|
|
407
424
|
...WebsocketClient_js_1.WS_LOGGER_CATEGORY,
|
|
408
425
|
wsKey,
|
|
409
426
|
});
|
|
410
|
-
this.emit('reconnected', { wsKey, event });
|
|
427
|
+
this.emit('reconnected', { wsKey, event, wsUrl: url, ws });
|
|
411
428
|
}
|
|
412
429
|
this.setWsState(wsKey, WsStore_types_js_1.WsConnectionStateEnum.CONNECTED);
|
|
413
430
|
this.logger.trace(`Enabled ping timer`, { ...WebsocketClient_js_1.WS_LOGGER_CATEGORY, wsKey });
|
|
@@ -417,6 +434,7 @@ class BaseWebsocketClient extends events_1.default {
|
|
|
417
434
|
const connectionInProgressPromise = this.wsStore.getConnectionInProgressPromise(wsKey);
|
|
418
435
|
if (connectionInProgressPromise?.resolve) {
|
|
419
436
|
connectionInProgressPromise.resolve({
|
|
437
|
+
ws,
|
|
420
438
|
wsKey,
|
|
421
439
|
});
|
|
422
440
|
}
|
|
@@ -427,9 +445,9 @@ class BaseWebsocketClient extends events_1.default {
|
|
|
427
445
|
// Remove before resolving, in case there's more requests queued
|
|
428
446
|
this.wsStore.removeConnectingInProgressPromise(wsKey);
|
|
429
447
|
// Some websockets require an auth packet to be sent after opening the connection
|
|
430
|
-
if (this.
|
|
448
|
+
if (this.isAuthOnConnectWsKey(wsKey) &&
|
|
431
449
|
this.options.authPrivateConnectionsOnConnect) {
|
|
432
|
-
await this.
|
|
450
|
+
await this.assertIsAuthenticated(wsKey);
|
|
433
451
|
}
|
|
434
452
|
// Reconnect to topics known before it connected
|
|
435
453
|
const { privateReqs, publicReqs } = this.sortTopicRequestsIntoPublicPrivate([...this.wsStore.getTopics(wsKey)], wsKey);
|
|
@@ -480,6 +498,22 @@ class BaseWebsocketClient extends events_1.default {
|
|
|
480
498
|
onWsAuthenticated(wsKey, event) {
|
|
481
499
|
const wsState = this.wsStore.get(wsKey, true);
|
|
482
500
|
wsState.isAuthenticated = true;
|
|
501
|
+
// Resolve & cleanup deferred "auth attempt in progress" promise
|
|
502
|
+
try {
|
|
503
|
+
const inProgressPromise = this.wsStore.getAuthenticationInProgressPromise(wsKey);
|
|
504
|
+
if (inProgressPromise?.resolve) {
|
|
505
|
+
inProgressPromise.resolve({
|
|
506
|
+
wsKey,
|
|
507
|
+
event,
|
|
508
|
+
ws: wsState.ws,
|
|
509
|
+
});
|
|
510
|
+
}
|
|
511
|
+
}
|
|
512
|
+
catch (e) {
|
|
513
|
+
this.logger.error('Exception trying to resolve "authenticationInProgress" promise', e);
|
|
514
|
+
}
|
|
515
|
+
// Remove before continuing, in case there's more requests queued
|
|
516
|
+
this.wsStore.removeAuthenticationInProgressPromise(wsKey);
|
|
483
517
|
if (this.options.authPrivateConnectionsOnConnect) {
|
|
484
518
|
const topics = [...this.wsStore.getTopics(wsKey)];
|
|
485
519
|
const privateTopics = topics.filter((topic) => this.isPrivateTopicRequest(topic, wsKey));
|
|
@@ -571,7 +605,11 @@ class BaseWebsocketClient extends events_1.default {
|
|
|
571
605
|
...WebsocketClient_js_1.WS_LOGGER_CATEGORY,
|
|
572
606
|
wsKey,
|
|
573
607
|
});
|
|
608
|
+
const wsState = this.wsStore.get(wsKey, true);
|
|
609
|
+
wsState.isAuthenticated = false;
|
|
574
610
|
if (this.wsStore.getConnectionState(wsKey) !== WsStore_types_js_1.WsConnectionStateEnum.CLOSING) {
|
|
611
|
+
// unintentional close, attempt recovery
|
|
612
|
+
this.logger.trace(`onWsClose(${wsKey}): rejecting all deferred promises...`);
|
|
575
613
|
// clean up any pending promises for this connection
|
|
576
614
|
this.getWsStore().rejectAllDeferredPromises(wsKey, 'connection lost, reconnecting');
|
|
577
615
|
this.setWsState(wsKey, WsStore_types_js_1.WsConnectionStateEnum.INITIAL);
|
|
@@ -579,9 +617,14 @@ class BaseWebsocketClient extends events_1.default {
|
|
|
579
617
|
this.emit('reconnect', { wsKey, event });
|
|
580
618
|
}
|
|
581
619
|
else {
|
|
620
|
+
// intentional close - clean up
|
|
621
|
+
// clean up any pending promises for this connection
|
|
622
|
+
this.logger.trace(`onWsClose(${wsKey}): rejecting all deferred promises...`);
|
|
582
623
|
// clean up any pending promises for this connection
|
|
583
624
|
this.getWsStore().rejectAllDeferredPromises(wsKey, 'disconnected');
|
|
584
625
|
this.setWsState(wsKey, WsStore_types_js_1.WsConnectionStateEnum.INITIAL);
|
|
626
|
+
// This was an intentional close, delete all state for this connection, as if it never existed:
|
|
627
|
+
this.wsStore.delete(wsKey);
|
|
585
628
|
this.emit('close', { wsKey, event });
|
|
586
629
|
}
|
|
587
630
|
}
|
|
@@ -595,21 +638,49 @@ class BaseWebsocketClient extends events_1.default {
|
|
|
595
638
|
* Promise-driven method to assert that a ws has successfully connected (will await until connection is open)
|
|
596
639
|
*/
|
|
597
640
|
async assertIsConnected(wsKey) {
|
|
641
|
+
const isConnected = this.getWsStore().isConnectionState(wsKey, WsStore_types_js_1.WsConnectionStateEnum.CONNECTED);
|
|
642
|
+
if (isConnected) {
|
|
643
|
+
return true;
|
|
644
|
+
}
|
|
645
|
+
const inProgressPromise = this.getWsStore().getConnectionInProgressPromise(wsKey);
|
|
646
|
+
// Already in progress? Await shared promise and retry
|
|
647
|
+
if (inProgressPromise) {
|
|
648
|
+
this.logger.trace('assertIsConnected(): awaiting...');
|
|
649
|
+
await inProgressPromise.promise;
|
|
650
|
+
this.logger.trace('assertIsConnected(): awaiting...connected!');
|
|
651
|
+
return inProgressPromise.promise;
|
|
652
|
+
}
|
|
653
|
+
// Start connection, it should automatically store/return a promise.
|
|
654
|
+
this.logger.trace('assertIsConnected(): connecting...');
|
|
655
|
+
await this.connect(wsKey);
|
|
656
|
+
this.logger.trace('assertIsConnected(): connecting...newly connected!');
|
|
657
|
+
}
|
|
658
|
+
/**
|
|
659
|
+
* Promise-driven method to assert that a ws has been successfully authenticated (will await until auth is confirmed)
|
|
660
|
+
*/
|
|
661
|
+
async assertIsAuthenticated(wsKey) {
|
|
598
662
|
const isConnected = this.getWsStore().isConnectionState(wsKey, WsStore_types_js_1.WsConnectionStateEnum.CONNECTED);
|
|
599
663
|
if (!isConnected) {
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
664
|
+
this.logger.trace('assertIsAuthenticated(): connecting...');
|
|
665
|
+
await this.assertIsConnected(wsKey);
|
|
666
|
+
}
|
|
667
|
+
const inProgressPromise = this.getWsStore().getAuthenticationInProgressPromise(wsKey);
|
|
668
|
+
// Already in progress? Await shared promise and retry
|
|
669
|
+
if (inProgressPromise) {
|
|
670
|
+
this.logger.trace('assertIsAuthenticated(): awaiting...');
|
|
671
|
+
await inProgressPromise.promise;
|
|
672
|
+
this.logger.trace('assertIsAuthenticated(): authenticated!');
|
|
673
|
+
return;
|
|
674
|
+
}
|
|
675
|
+
const isAuthenticated = this.wsStore.get(wsKey)?.isAuthenticated;
|
|
676
|
+
if (isAuthenticated) {
|
|
677
|
+
// this.logger.trace('assertIsAuthenticated(): ok');
|
|
678
|
+
return;
|
|
612
679
|
}
|
|
680
|
+
// Start authentication, it should automatically store/return a promise.
|
|
681
|
+
this.logger.trace('assertIsAuthenticated(): authenticating...');
|
|
682
|
+
await this.sendAuthRequest(wsKey);
|
|
683
|
+
this.logger.trace('assertIsAuthenticated(): newly authenticated!');
|
|
613
684
|
}
|
|
614
685
|
}
|
|
615
686
|
exports.BaseWebsocketClient = BaseWebsocketClient;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseWSClient.js","sourceRoot":"","sources":["../../../src/lib/BaseWSClient.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BaseWSClient.js","sourceRoot":"","sources":["../../../src/lib/BaseWSClient.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/lib/logger.d.ts
CHANGED
|
@@ -20,6 +20,17 @@ export interface RestClientOptions {
|
|
|
20
20
|
baseUrlKey?: GateBaseUrlKey;
|
|
21
21
|
/** Default: true. whether to try and post-process request exceptions (and throw them). */
|
|
22
22
|
parseExceptions?: boolean;
|
|
23
|
+
/**
|
|
24
|
+
* Enable keep alive for REST API requests (via axios).
|
|
25
|
+
* See: https://github.com/tiagosiebler/bybit-api/issues/368
|
|
26
|
+
*/
|
|
27
|
+
keepAlive?: boolean;
|
|
28
|
+
/**
|
|
29
|
+
* When using HTTP KeepAlive, how often to send TCP KeepAlive packets over sockets being kept alive. Default = 1000.
|
|
30
|
+
* Only relevant if keepAlive is set to true.
|
|
31
|
+
* Default: 1000 (defaults comes from https agent)
|
|
32
|
+
*/
|
|
33
|
+
keepAliveMsecs?: number;
|
|
23
34
|
/**
|
|
24
35
|
* Allows you to provide a custom "signMessage" function, e.g. to use node's much faster createHmac method
|
|
25
36
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"requestUtils.js","sourceRoot":"","sources":["../../../src/lib/requestUtils.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"requestUtils.js","sourceRoot":"","sources":["../../../src/lib/requestUtils.ts"],"names":[],"mappings":";;;AAqDA,SAAgB,eAAe,CAC7B,MAAS,EACT,iBAAsC,EACtC,YAAqB,EACrB,UAAkB;IAElB,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;SACpC,IAAI,EAAE;SACN,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QACX,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAC1B,IAAI,iBAAiB,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,WAAW,EAAE,CAAC;YAC/D,MAAM,IAAI,KAAK,CACb,uDAAuD,CACxD,CAAC;QACJ,CAAC;QACD,MAAM,YAAY,GAAG,YAAY,CAAC,CAAC,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QACtE,OAAO,GAAG,GAAG,IAAI,YAAY,EAAE,CAAC;IAClC,CAAC,CAAC;SACD,IAAI,CAAC,GAAG,CAAC,CAAC;IAEb,iCAAiC;IACjC,OAAO,WAAW,CAAC,CAAC,CAAC,UAAU,GAAG,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC;AAC9D,CAAC;AA1BD,0CA0BC;AAED,MAAM,cAAc,GAAmC;IACrD,IAAI,EAAE,8BAA8B;IACpC,sBAAsB,EAAE,iCAAiC;IACzD,cAAc,EAAE,yCAAyC;CAC1D,CAAC;AAEF,SAAgB,cAAc,CAAC,iBAAoC;IACjE,IAAI,iBAAiB,CAAC,OAAO,EAAE,CAAC;QAC9B,OAAO,iBAAiB,CAAC,OAAO,CAAC;IACnC,CAAC;IAED,IAAI,iBAAiB,CAAC,UAAU,EAAE,CAAC;QACjC,OAAO,cAAc,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;IACtD,CAAC;IAED,OAAO,cAAc,CAAC,IAAI,CAAC;AAC7B,CAAC;AAVD,wCAUC;AAEY,QAAA,UAAU,GAAG,aAAa,CAAC;AAQxC,SAAgB,cAAc,CAAC,GAAY;IACzC,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,GAAG,EAAE,CAAC;QACpC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,OAAO,GAAG,GAAuB,CAAC;IACxC,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,SAAS,IAAI,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,QAAQ,CAAC;AAC9E,CAAC;AAPD,wCAOC"}
|
|
@@ -5,14 +5,15 @@ import { DeferredPromise, WSConnectedResult, WsConnectionStateEnum, WsStoredStat
|
|
|
5
5
|
* Simple comparison of two objects, only checks 1-level deep (nested objects won't match)
|
|
6
6
|
*/
|
|
7
7
|
export declare function isDeepObjectMatch(object1: unknown, object2: unknown): boolean;
|
|
8
|
-
declare const DEFERRED_PROMISE_REF: {
|
|
8
|
+
export declare const DEFERRED_PROMISE_REF: {
|
|
9
9
|
readonly CONNECTION_IN_PROGRESS: "CONNECTION_IN_PROGRESS";
|
|
10
|
+
readonly AUTHENTICATION_IN_PROGRESS: "AUTHENTICATION_IN_PROGRESS";
|
|
10
11
|
};
|
|
11
12
|
type DeferredPromiseRef = (typeof DEFERRED_PROMISE_REF)[keyof typeof DEFERRED_PROMISE_REF];
|
|
12
13
|
export declare class WsStore<WsKey extends string, TWSTopicSubscribeEventArgs extends string | object> {
|
|
13
14
|
private wsState;
|
|
14
15
|
private logger;
|
|
15
|
-
constructor(logger:
|
|
16
|
+
constructor(logger: DefaultLogger);
|
|
16
17
|
/** Get WS stored state for key, optionally create if missing */
|
|
17
18
|
get(key: WsKey, createIfMissing?: true): WsStoredState<TWSTopicSubscribeEventArgs>;
|
|
18
19
|
get(key: WsKey, createIfMissing?: false): WsStoredState<TWSTopicSubscribeEventArgs> | undefined;
|
|
@@ -22,6 +23,9 @@ export declare class WsStore<WsKey extends string, TWSTopicSubscribeEventArgs ex
|
|
|
22
23
|
hasExistingActiveConnection(key: WsKey): boolean;
|
|
23
24
|
getWs(key: WsKey): WebSocket | undefined;
|
|
24
25
|
setWs(key: WsKey, wsConnection: WebSocket): WebSocket;
|
|
26
|
+
/**
|
|
27
|
+
* deferred promises
|
|
28
|
+
*/
|
|
25
29
|
getDeferredPromise<TSuccessResult = any>(wsKey: WsKey, promiseRef: string | DeferredPromiseRef): DeferredPromise<TSuccessResult> | undefined;
|
|
26
30
|
createDeferredPromise<TSuccessResult = any>(wsKey: WsKey, promiseRef: string | DeferredPromiseRef, throwIfExists: boolean): DeferredPromise<TSuccessResult>;
|
|
27
31
|
resolveDeferredPromise(wsKey: WsKey, promiseRef: string | DeferredPromiseRef, value: unknown, removeAfter: boolean): void;
|
|
@@ -30,14 +34,21 @@ export declare class WsStore<WsKey extends string, TWSTopicSubscribeEventArgs ex
|
|
|
30
34
|
rejectAllDeferredPromises(wsKey: WsKey, reason: string): void;
|
|
31
35
|
/** Get promise designed to track a connection attempt in progress. Resolves once connected. */
|
|
32
36
|
getConnectionInProgressPromise(wsKey: WsKey): DeferredPromise<WSConnectedResult> | undefined;
|
|
37
|
+
getAuthenticationInProgressPromise(wsKey: WsKey): DeferredPromise<WSConnectedResult & {
|
|
38
|
+
event: any;
|
|
39
|
+
}> | undefined;
|
|
33
40
|
/**
|
|
34
41
|
* Create a deferred promise designed to track a connection attempt in progress.
|
|
35
42
|
*
|
|
36
43
|
* Will throw if existing promise is found.
|
|
37
44
|
*/
|
|
38
45
|
createConnectionInProgressPromise(wsKey: WsKey, throwIfExists: boolean): DeferredPromise<WSConnectedResult>;
|
|
46
|
+
createAuthenticationInProgressPromise(wsKey: WsKey, throwIfExists: boolean): DeferredPromise<WSConnectedResult & {
|
|
47
|
+
event: any;
|
|
48
|
+
}>;
|
|
39
49
|
/** Remove promise designed to track a connection attempt in progress */
|
|
40
50
|
removeConnectingInProgressPromise(wsKey: WsKey): void;
|
|
51
|
+
removeAuthenticationInProgressPromise(wsKey: WsKey): void;
|
|
41
52
|
isWsOpen(key: WsKey): boolean;
|
|
42
53
|
getConnectionState(key: WsKey): WsConnectionStateEnum;
|
|
43
54
|
setConnectionState(key: WsKey, state: WsConnectionStateEnum): void;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.WsStore = exports.isDeepObjectMatch = void 0;
|
|
3
|
+
exports.WsStore = exports.DEFERRED_PROMISE_REF = exports.isDeepObjectMatch = void 0;
|
|
4
4
|
const logger_js_1 = require("../logger.js");
|
|
5
5
|
const WsStore_types_js_1 = require("./WsStore.types.js");
|
|
6
6
|
/**
|
|
@@ -23,8 +23,9 @@ function isDeepObjectMatch(object1, object2) {
|
|
|
23
23
|
return true;
|
|
24
24
|
}
|
|
25
25
|
exports.isDeepObjectMatch = isDeepObjectMatch;
|
|
26
|
-
|
|
26
|
+
exports.DEFERRED_PROMISE_REF = {
|
|
27
27
|
CONNECTION_IN_PROGRESS: 'CONNECTION_IN_PROGRESS',
|
|
28
|
+
AUTHENTICATION_IN_PROGRESS: 'AUTHENTICATION_IN_PROGRESS',
|
|
28
29
|
};
|
|
29
30
|
class WsStore {
|
|
30
31
|
wsState = {};
|
|
@@ -77,6 +78,9 @@ class WsStore {
|
|
|
77
78
|
this.get(key, true).ws = wsConnection;
|
|
78
79
|
return wsConnection;
|
|
79
80
|
}
|
|
81
|
+
/**
|
|
82
|
+
* deferred promises
|
|
83
|
+
*/
|
|
80
84
|
getDeferredPromise(wsKey, promiseRef) {
|
|
81
85
|
const storeForKey = this.get(wsKey);
|
|
82
86
|
if (!storeForKey) {
|
|
@@ -121,7 +125,13 @@ class WsStore {
|
|
|
121
125
|
rejectDeferredPromise(wsKey, promiseRef, value, removeAfter) {
|
|
122
126
|
const promise = this.getDeferredPromise(wsKey, promiseRef);
|
|
123
127
|
if (promise?.reject) {
|
|
124
|
-
|
|
128
|
+
this.logger.trace(`rejectDeferredPromise(): rejecting ${wsKey}/${promiseRef}`, value);
|
|
129
|
+
if (typeof value === 'string') {
|
|
130
|
+
promise.reject(new Error(value));
|
|
131
|
+
}
|
|
132
|
+
else {
|
|
133
|
+
promise.reject(value);
|
|
134
|
+
}
|
|
125
135
|
}
|
|
126
136
|
if (removeAfter) {
|
|
127
137
|
this.removeDeferredPromise(wsKey, promiseRef);
|
|
@@ -147,23 +157,27 @@ class WsStore {
|
|
|
147
157
|
if (!storeForKey || !deferredPromiseStore) {
|
|
148
158
|
return;
|
|
149
159
|
}
|
|
150
|
-
const reservedKeys = Object.values(DEFERRED_PROMISE_REF);
|
|
160
|
+
const reservedKeys = Object.values(exports.DEFERRED_PROMISE_REF);
|
|
151
161
|
for (const promiseRef in deferredPromiseStore) {
|
|
152
162
|
// Skip reserved keys, such as the connection promise
|
|
153
163
|
if (reservedKeys.includes(promiseRef)) {
|
|
154
164
|
continue;
|
|
155
165
|
}
|
|
156
166
|
try {
|
|
167
|
+
this.logger.trace(`rejectAllDeferredPromises(): rejecting ${wsKey}/${promiseRef}/${reason}`);
|
|
157
168
|
this.rejectDeferredPromise(wsKey, promiseRef, reason, true);
|
|
158
169
|
}
|
|
159
170
|
catch (e) {
|
|
160
|
-
this.logger.error(
|
|
171
|
+
this.logger.error('rejectAllDeferredPromises(): Exception rejecting deferred promise', { wsKey: wsKey, reason, promiseRef, exception: e });
|
|
161
172
|
}
|
|
162
173
|
}
|
|
163
174
|
}
|
|
164
175
|
/** Get promise designed to track a connection attempt in progress. Resolves once connected. */
|
|
165
176
|
getConnectionInProgressPromise(wsKey) {
|
|
166
|
-
return this.getDeferredPromise(wsKey, DEFERRED_PROMISE_REF.CONNECTION_IN_PROGRESS);
|
|
177
|
+
return this.getDeferredPromise(wsKey, exports.DEFERRED_PROMISE_REF.CONNECTION_IN_PROGRESS);
|
|
178
|
+
}
|
|
179
|
+
getAuthenticationInProgressPromise(wsKey) {
|
|
180
|
+
return this.getDeferredPromise(wsKey, exports.DEFERRED_PROMISE_REF.AUTHENTICATION_IN_PROGRESS);
|
|
167
181
|
}
|
|
168
182
|
/**
|
|
169
183
|
* Create a deferred promise designed to track a connection attempt in progress.
|
|
@@ -171,11 +185,17 @@ class WsStore {
|
|
|
171
185
|
* Will throw if existing promise is found.
|
|
172
186
|
*/
|
|
173
187
|
createConnectionInProgressPromise(wsKey, throwIfExists) {
|
|
174
|
-
return this.createDeferredPromise(wsKey, DEFERRED_PROMISE_REF.CONNECTION_IN_PROGRESS, throwIfExists);
|
|
188
|
+
return this.createDeferredPromise(wsKey, exports.DEFERRED_PROMISE_REF.CONNECTION_IN_PROGRESS, throwIfExists);
|
|
189
|
+
}
|
|
190
|
+
createAuthenticationInProgressPromise(wsKey, throwIfExists) {
|
|
191
|
+
return this.createDeferredPromise(wsKey, exports.DEFERRED_PROMISE_REF.AUTHENTICATION_IN_PROGRESS, throwIfExists);
|
|
175
192
|
}
|
|
176
193
|
/** Remove promise designed to track a connection attempt in progress */
|
|
177
194
|
removeConnectingInProgressPromise(wsKey) {
|
|
178
|
-
return this.removeDeferredPromise(wsKey, DEFERRED_PROMISE_REF.CONNECTION_IN_PROGRESS);
|
|
195
|
+
return this.removeDeferredPromise(wsKey, exports.DEFERRED_PROMISE_REF.CONNECTION_IN_PROGRESS);
|
|
196
|
+
}
|
|
197
|
+
removeAuthenticationInProgressPromise(wsKey) {
|
|
198
|
+
return this.removeDeferredPromise(wsKey, exports.DEFERRED_PROMISE_REF.AUTHENTICATION_IN_PROGRESS);
|
|
179
199
|
}
|
|
180
200
|
/* connection state */
|
|
181
201
|
isWsOpen(key) {
|
|
@@ -188,6 +208,7 @@ class WsStore {
|
|
|
188
208
|
}
|
|
189
209
|
setConnectionState(key, state) {
|
|
190
210
|
this.get(key, true).connectionState = state;
|
|
211
|
+
this.get(key, true).connectionStateChangedAt = new Date();
|
|
191
212
|
}
|
|
192
213
|
isConnectionState(key, state) {
|
|
193
214
|
return this.getConnectionState(key) === state;
|
|
@@ -200,6 +221,21 @@ class WsStore {
|
|
|
200
221
|
isConnectionAttemptInProgress(key) {
|
|
201
222
|
const isConnectionInProgress = this.isConnectionState(key, WsStore_types_js_1.WsConnectionStateEnum.CONNECTING) ||
|
|
202
223
|
this.isConnectionState(key, WsStore_types_js_1.WsConnectionStateEnum.RECONNECTING);
|
|
224
|
+
if (isConnectionInProgress) {
|
|
225
|
+
const wsState = this.get(key, true);
|
|
226
|
+
const stateLastChangedAt = wsState?.connectionStateChangedAt;
|
|
227
|
+
const stateChangedAtTimestamp = stateLastChangedAt?.getTime();
|
|
228
|
+
if (stateChangedAtTimestamp) {
|
|
229
|
+
const timestampNow = new Date().getTime();
|
|
230
|
+
const stateChangedTimeAgo = timestampNow - stateChangedAtTimestamp;
|
|
231
|
+
const stateChangeTimeout = 15000; // allow a max 15 second timeout since the last state change before assuming stuck;
|
|
232
|
+
if (stateChangedTimeAgo >= stateChangeTimeout) {
|
|
233
|
+
const msg = 'State change timed out, reconnect workflow stuck?';
|
|
234
|
+
this.logger.error(msg, { key, wsState });
|
|
235
|
+
this.setConnectionState(key, WsStore_types_js_1.WsConnectionStateEnum.ERROR);
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
}
|
|
203
239
|
return isConnectionInProgress;
|
|
204
240
|
}
|
|
205
241
|
/* subscribed topics */
|
|
@@ -213,7 +249,6 @@ class WsStore {
|
|
|
213
249
|
}
|
|
214
250
|
return result;
|
|
215
251
|
}
|
|
216
|
-
// Since topics are objects we can't rely on the set to detect duplicates
|
|
217
252
|
/**
|
|
218
253
|
* Find matching "topic" request from the store
|
|
219
254
|
* @param key
|
|
@@ -221,9 +256,6 @@ class WsStore {
|
|
|
221
256
|
* @returns
|
|
222
257
|
*/
|
|
223
258
|
getMatchingTopic(key, topic) {
|
|
224
|
-
// if (typeof topic === 'string') {
|
|
225
|
-
// return this.getMatchingTopic(key, { channel: topic });
|
|
226
|
-
// }
|
|
227
259
|
const allTopics = this.getTopics(key).values();
|
|
228
260
|
for (const storedTopic of allTopics) {
|
|
229
261
|
if (isDeepObjectMatch(topic, storedTopic)) {
|
|
@@ -232,13 +264,6 @@ class WsStore {
|
|
|
232
264
|
}
|
|
233
265
|
}
|
|
234
266
|
addTopic(key, topic) {
|
|
235
|
-
// if (typeof topic === 'string') {
|
|
236
|
-
// return this.addTopic(key, {
|
|
237
|
-
// instType: 'sp',
|
|
238
|
-
// channel: topic,
|
|
239
|
-
// instId: 'default',
|
|
240
|
-
// };
|
|
241
|
-
// }
|
|
242
267
|
// Check for duplicate topic. If already tracked, don't store this one
|
|
243
268
|
const existingTopic = this.getMatchingTopic(key, topic);
|
|
244
269
|
if (existingTopic) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WsStore.js","sourceRoot":"","sources":["../../../../src/lib/websocket/WsStore.ts"],"names":[],"mappings":";;;AAEA,4CAA6C;AAC7C,yDAK4B;AAE5B;;GAEG;AACH,SAAgB,iBAAiB,CAAC,OAAgB,EAAE,OAAgB;IAClE,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAC/D,OAAO,OAAO,KAAK,OAAO,CAAC;IAC7B,CAAC;IAED,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAC/D,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;QAC1B,MAAM,MAAM,GAAI,OAAe,CAAC,GAAG,CAAC,CAAC;QACrC,MAAM,MAAM,GAAI,OAAe,CAAC,GAAG,CAAC,CAAC;QAErC,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;YACtB,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAlBD,8CAkBC;
|
|
1
|
+
{"version":3,"file":"WsStore.js","sourceRoot":"","sources":["../../../../src/lib/websocket/WsStore.ts"],"names":[],"mappings":"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"}
|