@stomp/stompjs 7.0.1 → 7.1.0
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 +3 -0
- package/bundles/stomp.umd.js +162 -35
- package/bundles/stomp.umd.js.map +1 -1
- package/bundles/stomp.umd.min.js +1 -1
- package/esm6/client.d.ts +36 -3
- package/esm6/client.js +56 -6
- package/esm6/client.js.map +1 -1
- package/esm6/stomp-config.d.ts +13 -1
- package/esm6/stomp-config.js.map +1 -1
- package/esm6/stomp-handler.d.ts +1 -1
- package/esm6/stomp-handler.js +6 -4
- package/esm6/stomp-handler.js.map +1 -1
- package/esm6/ticker.d.ts +17 -0
- package/esm6/ticker.js +61 -0
- package/esm6/ticker.js.map +1 -0
- package/esm6/types.d.ts +15 -0
- package/esm6/types.js +16 -0
- package/esm6/types.js.map +1 -1
- package/package.json +2 -2
- package/src/client.ts +85 -14
- package/src/stomp-config.ts +17 -0
- package/src/stomp-handler.ts +8 -5
- package/src/ticker.ts +76 -0
- package/src/types.ts +17 -0
package/README.md
CHANGED
|
@@ -141,6 +141,9 @@ If you want to understand the code, develop, or contribute. Please visit
|
|
|
141
141
|
- [Genadi](https://github.com/genadis)
|
|
142
142
|
- [Bobohuochai](https://github.com/bobohuochai)
|
|
143
143
|
- [Sailai](https://github.com/sailai)
|
|
144
|
+
- [Harsh Deep](https://github.com/harsh183)
|
|
145
|
+
- [Nikos Epping](https://github.com/Nikos410)
|
|
146
|
+
- [Tom Pachtner](https://github.com/tomamatics)
|
|
144
147
|
|
|
145
148
|
## License
|
|
146
149
|
|
package/bundles/stomp.umd.js
CHANGED
|
@@ -4,6 +4,33 @@
|
|
|
4
4
|
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.StompJs = {}));
|
|
5
5
|
})(this, (function (exports) { 'use strict';
|
|
6
6
|
|
|
7
|
+
/**
|
|
8
|
+
* @internal
|
|
9
|
+
*/
|
|
10
|
+
function augmentWebsocket(webSocket, debug) {
|
|
11
|
+
webSocket.terminate = function () {
|
|
12
|
+
const noOp = () => { };
|
|
13
|
+
// set all callbacks to no op
|
|
14
|
+
this.onerror = noOp;
|
|
15
|
+
this.onmessage = noOp;
|
|
16
|
+
this.onopen = noOp;
|
|
17
|
+
const ts = new Date();
|
|
18
|
+
const id = Math.random().toString().substring(2, 8); // A simulated id
|
|
19
|
+
const origOnClose = this.onclose;
|
|
20
|
+
// Track delay in actual closure of the socket
|
|
21
|
+
this.onclose = closeEvent => {
|
|
22
|
+
const delay = new Date().getTime() - ts.getTime();
|
|
23
|
+
debug(`Discarded socket (#${id}) closed after ${delay}ms, with code/reason: ${closeEvent.code}/${closeEvent.reason}`);
|
|
24
|
+
};
|
|
25
|
+
this.close();
|
|
26
|
+
origOnClose?.call(webSocket, {
|
|
27
|
+
code: 4001,
|
|
28
|
+
reason: `Quick discarding socket (#${id}) without waiting for the shutdown sequence.`,
|
|
29
|
+
wasClean: false,
|
|
30
|
+
});
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
|
|
7
34
|
/**
|
|
8
35
|
* Some byte values, used as per STOMP specifications.
|
|
9
36
|
*
|
|
@@ -429,6 +456,82 @@
|
|
|
429
456
|
ActivationState[ActivationState["DEACTIVATING"] = 1] = "DEACTIVATING";
|
|
430
457
|
ActivationState[ActivationState["INACTIVE"] = 2] = "INACTIVE";
|
|
431
458
|
})(exports.ActivationState || (exports.ActivationState = {}));
|
|
459
|
+
/**
|
|
460
|
+
* Possible reconnection wait time modes
|
|
461
|
+
*/
|
|
462
|
+
exports.ReconnectionTimeMode = void 0;
|
|
463
|
+
(function (ReconnectionTimeMode) {
|
|
464
|
+
ReconnectionTimeMode[ReconnectionTimeMode["LINEAR"] = 0] = "LINEAR";
|
|
465
|
+
ReconnectionTimeMode[ReconnectionTimeMode["EXPONENTIAL"] = 1] = "EXPONENTIAL";
|
|
466
|
+
})(exports.ReconnectionTimeMode || (exports.ReconnectionTimeMode = {}));
|
|
467
|
+
/**
|
|
468
|
+
* Possible ticker strategies for outgoing heartbeat ping
|
|
469
|
+
*/
|
|
470
|
+
exports.TickerStrategy = void 0;
|
|
471
|
+
(function (TickerStrategy) {
|
|
472
|
+
TickerStrategy["Interval"] = "interval";
|
|
473
|
+
TickerStrategy["Worker"] = "worker";
|
|
474
|
+
})(exports.TickerStrategy || (exports.TickerStrategy = {}));
|
|
475
|
+
|
|
476
|
+
class Ticker {
|
|
477
|
+
constructor(_interval, _strategy = exports.TickerStrategy.Interval, _debug) {
|
|
478
|
+
this._interval = _interval;
|
|
479
|
+
this._strategy = _strategy;
|
|
480
|
+
this._debug = _debug;
|
|
481
|
+
this._workerScript = `
|
|
482
|
+
var startTime = Date.now();
|
|
483
|
+
setInterval(function() {
|
|
484
|
+
self.postMessage(Date.now() - startTime);
|
|
485
|
+
}, ${this._interval});
|
|
486
|
+
`;
|
|
487
|
+
}
|
|
488
|
+
start(tick) {
|
|
489
|
+
this.stop();
|
|
490
|
+
if (this.shouldUseWorker()) {
|
|
491
|
+
this.runWorker(tick);
|
|
492
|
+
}
|
|
493
|
+
else {
|
|
494
|
+
this.runInterval(tick);
|
|
495
|
+
}
|
|
496
|
+
}
|
|
497
|
+
stop() {
|
|
498
|
+
this.disposeWorker();
|
|
499
|
+
this.disposeInterval();
|
|
500
|
+
}
|
|
501
|
+
shouldUseWorker() {
|
|
502
|
+
return typeof (Worker) !== 'undefined' && this._strategy === exports.TickerStrategy.Worker;
|
|
503
|
+
}
|
|
504
|
+
runWorker(tick) {
|
|
505
|
+
this._debug('Using runWorker for outgoing pings');
|
|
506
|
+
if (!this._worker) {
|
|
507
|
+
this._worker = new Worker(URL.createObjectURL(new Blob([this._workerScript], { type: 'text/javascript' })));
|
|
508
|
+
this._worker.onmessage = (message) => tick(message.data);
|
|
509
|
+
}
|
|
510
|
+
}
|
|
511
|
+
runInterval(tick) {
|
|
512
|
+
this._debug('Using runInterval for outgoing pings');
|
|
513
|
+
if (!this._timer) {
|
|
514
|
+
const startTime = Date.now();
|
|
515
|
+
this._timer = setInterval(() => {
|
|
516
|
+
tick(Date.now() - startTime);
|
|
517
|
+
}, this._interval);
|
|
518
|
+
}
|
|
519
|
+
}
|
|
520
|
+
disposeWorker() {
|
|
521
|
+
if (this._worker) {
|
|
522
|
+
this._worker.terminate();
|
|
523
|
+
delete this._worker;
|
|
524
|
+
this._debug('Outgoing ping disposeWorker');
|
|
525
|
+
}
|
|
526
|
+
}
|
|
527
|
+
disposeInterval() {
|
|
528
|
+
if (this._timer) {
|
|
529
|
+
clearInterval(this._timer);
|
|
530
|
+
delete this._timer;
|
|
531
|
+
this._debug('Outgoing ping disposeInterval');
|
|
532
|
+
}
|
|
533
|
+
}
|
|
534
|
+
}
|
|
432
535
|
|
|
433
536
|
/**
|
|
434
537
|
* Supported STOMP versions
|
|
@@ -479,33 +582,6 @@
|
|
|
479
582
|
Versions.V1_0,
|
|
480
583
|
]);
|
|
481
584
|
|
|
482
|
-
/**
|
|
483
|
-
* @internal
|
|
484
|
-
*/
|
|
485
|
-
function augmentWebsocket(webSocket, debug) {
|
|
486
|
-
webSocket.terminate = function () {
|
|
487
|
-
const noOp = () => { };
|
|
488
|
-
// set all callbacks to no op
|
|
489
|
-
this.onerror = noOp;
|
|
490
|
-
this.onmessage = noOp;
|
|
491
|
-
this.onopen = noOp;
|
|
492
|
-
const ts = new Date();
|
|
493
|
-
const id = Math.random().toString().substring(2, 8); // A simulated id
|
|
494
|
-
const origOnClose = this.onclose;
|
|
495
|
-
// Track delay in actual closure of the socket
|
|
496
|
-
this.onclose = closeEvent => {
|
|
497
|
-
const delay = new Date().getTime() - ts.getTime();
|
|
498
|
-
debug(`Discarded socket (#${id}) closed after ${delay}ms, with code/reason: ${closeEvent.code}/${closeEvent.reason}`);
|
|
499
|
-
};
|
|
500
|
-
this.close();
|
|
501
|
-
origOnClose?.call(webSocket, {
|
|
502
|
-
code: 4001,
|
|
503
|
-
reason: `Quick discarding socket (#${id}) without waiting for the shutdown sequence.`,
|
|
504
|
-
wasClean: false,
|
|
505
|
-
});
|
|
506
|
-
};
|
|
507
|
-
}
|
|
508
|
-
|
|
509
585
|
/**
|
|
510
586
|
* The STOMP protocol handler
|
|
511
587
|
*
|
|
@@ -677,12 +753,13 @@
|
|
|
677
753
|
if (this.heartbeatOutgoing !== 0 && serverIncoming !== 0) {
|
|
678
754
|
const ttl = Math.max(this.heartbeatOutgoing, serverIncoming);
|
|
679
755
|
this.debug(`send PING every ${ttl}ms`);
|
|
680
|
-
this._pinger =
|
|
756
|
+
this._pinger = new Ticker(ttl, this._client.heartbeatStrategy, this.debug);
|
|
757
|
+
this._pinger.start(() => {
|
|
681
758
|
if (this._webSocket.readyState === exports.StompSocketState.OPEN) {
|
|
682
759
|
this._webSocket.send(BYTE.LF);
|
|
683
760
|
this.debug('>>> PING');
|
|
684
761
|
}
|
|
685
|
-
}
|
|
762
|
+
});
|
|
686
763
|
}
|
|
687
764
|
if (this.heartbeatIncoming !== 0 && serverOutgoing !== 0) {
|
|
688
765
|
const ttl = Math.max(this.heartbeatIncoming, serverOutgoing);
|
|
@@ -788,7 +865,7 @@
|
|
|
788
865
|
_cleanUp() {
|
|
789
866
|
this._connected = false;
|
|
790
867
|
if (this._pinger) {
|
|
791
|
-
|
|
868
|
+
this._pinger.stop();
|
|
792
869
|
this._pinger = undefined;
|
|
793
870
|
}
|
|
794
871
|
if (this._ponger) {
|
|
@@ -960,6 +1037,22 @@
|
|
|
960
1037
|
* automatically reconnect with delay in milliseconds, set to 0 to disable.
|
|
961
1038
|
*/
|
|
962
1039
|
this.reconnectDelay = 5000;
|
|
1040
|
+
/**
|
|
1041
|
+
* tracking the time to the next reconnection. Initialized to [Client#reconnectDelay]{@link Client#reconnectDelay}'s value and it may
|
|
1042
|
+
* change depending on the [Client#reconnectTimeMode]{@link Client#reconnectTimeMode} setting
|
|
1043
|
+
*/
|
|
1044
|
+
this._nextReconnectDelay = 0;
|
|
1045
|
+
/**
|
|
1046
|
+
* Maximum time to wait between reconnects, in milliseconds. Defaults to 15 minutes.
|
|
1047
|
+
* Only relevant when reconnectTimeMode not LINEAR (e.g. EXPONENTIAL).
|
|
1048
|
+
* Set to 0 to wait indefinitely.
|
|
1049
|
+
*/
|
|
1050
|
+
this.maxReconnectDelay = 15 * 60 * 1000; // 15 minutes in ms
|
|
1051
|
+
/**
|
|
1052
|
+
* Reconnection wait time mode, either linear (default) or exponential.
|
|
1053
|
+
* Note: See [Client#maxReconnectDelay]{@link Client#maxReconnectDelay} for setting the maximum delay when exponential
|
|
1054
|
+
*/
|
|
1055
|
+
this.reconnectTimeMode = exports.ReconnectionTimeMode.LINEAR;
|
|
963
1056
|
/**
|
|
964
1057
|
* Incoming heartbeat interval in milliseconds. Set to 0 to disable.
|
|
965
1058
|
*/
|
|
@@ -968,6 +1061,22 @@
|
|
|
968
1061
|
* Outgoing heartbeat interval in milliseconds. Set to 0 to disable.
|
|
969
1062
|
*/
|
|
970
1063
|
this.heartbeatOutgoing = 10000;
|
|
1064
|
+
/**
|
|
1065
|
+
* Outgoing heartbeat strategy.
|
|
1066
|
+
* See https://github.com/stomp-js/stompjs/pull/579
|
|
1067
|
+
*
|
|
1068
|
+
* Can be worker or interval strategy, but will always use `interval`
|
|
1069
|
+
* if web workers are unavailable, for example, in a non-browser environment.
|
|
1070
|
+
*
|
|
1071
|
+
* Using Web Workers may work better on long-running pages
|
|
1072
|
+
* and mobile apps, as the browser may suspend Timers in the main page.
|
|
1073
|
+
* Try the `Worker` mode if you discover disconnects when the browser tab is in the background.
|
|
1074
|
+
*
|
|
1075
|
+
* When used in a JS environment, use 'worker' or 'interval' as valid values.
|
|
1076
|
+
*
|
|
1077
|
+
* Defaults to `interval` strategy.
|
|
1078
|
+
*/
|
|
1079
|
+
this.heartbeatStrategy = exports.TickerStrategy.Interval;
|
|
971
1080
|
/**
|
|
972
1081
|
* This switches on a non-standard behavior while sending WebSocket packets.
|
|
973
1082
|
* It splits larger (text) packets into chunks of [maxWebSocketChunkSize]{@link Client#maxWebSocketChunkSize}.
|
|
@@ -1049,11 +1158,18 @@
|
|
|
1049
1158
|
configure(conf) {
|
|
1050
1159
|
// bulk assign all properties to this
|
|
1051
1160
|
Object.assign(this, conf);
|
|
1161
|
+
// Warn on incorrect maxReconnectDelay settings
|
|
1162
|
+
if (this.maxReconnectDelay > 0 &&
|
|
1163
|
+
this.maxReconnectDelay < this.reconnectDelay) {
|
|
1164
|
+
this.debug(`Warning: maxReconnectDelay (${this.maxReconnectDelay}ms) is less than reconnectDelay (${this.reconnectDelay}ms). Using reconnectDelay as the maxReconnectDelay delay.`);
|
|
1165
|
+
this.maxReconnectDelay = this.reconnectDelay;
|
|
1166
|
+
}
|
|
1052
1167
|
}
|
|
1053
1168
|
/**
|
|
1054
1169
|
* Initiate the connection with the broker.
|
|
1055
1170
|
* If the connection breaks, as per [Client#reconnectDelay]{@link Client#reconnectDelay},
|
|
1056
|
-
* it will keep trying to reconnect.
|
|
1171
|
+
* it will keep trying to reconnect. If the [Client#reconnectTimeMode]{@link Client#reconnectTimeMode}
|
|
1172
|
+
* is set to EXPONENTIAL it will increase the wait time exponentially
|
|
1057
1173
|
*
|
|
1058
1174
|
* Call [Client#deactivate]{@link Client#deactivate} to disconnect and stop reconnection attempts.
|
|
1059
1175
|
*/
|
|
@@ -1064,6 +1180,7 @@
|
|
|
1064
1180
|
return;
|
|
1065
1181
|
}
|
|
1066
1182
|
this._changeState(exports.ActivationState.ACTIVE);
|
|
1183
|
+
this._nextReconnectDelay = this.reconnectDelay;
|
|
1067
1184
|
this._connect();
|
|
1068
1185
|
};
|
|
1069
1186
|
// if it is deactivating, wait for it to complete before activating.
|
|
@@ -1078,7 +1195,7 @@
|
|
|
1078
1195
|
}
|
|
1079
1196
|
}
|
|
1080
1197
|
async _connect() {
|
|
1081
|
-
await this.beforeConnect();
|
|
1198
|
+
await this.beforeConnect(this);
|
|
1082
1199
|
if (this._stompHandler) {
|
|
1083
1200
|
this.debug('There is already a stompHandler, skipping the call to connect');
|
|
1084
1201
|
return;
|
|
@@ -1113,6 +1230,7 @@
|
|
|
1113
1230
|
disconnectHeaders: this._disconnectHeaders,
|
|
1114
1231
|
heartbeatIncoming: this.heartbeatIncoming,
|
|
1115
1232
|
heartbeatOutgoing: this.heartbeatOutgoing,
|
|
1233
|
+
heartbeatStrategy: this.heartbeatStrategy,
|
|
1116
1234
|
splitLargeFrames: this.splitLargeFrames,
|
|
1117
1235
|
maxWebSocketChunkSize: this.maxWebSocketChunkSize,
|
|
1118
1236
|
forceBinaryWSFrames: this.forceBinaryWSFrames,
|
|
@@ -1181,11 +1299,18 @@
|
|
|
1181
1299
|
return webSocket;
|
|
1182
1300
|
}
|
|
1183
1301
|
_schedule_reconnect() {
|
|
1184
|
-
if (this.
|
|
1185
|
-
this.debug(`STOMP: scheduling reconnection in ${this.
|
|
1302
|
+
if (this._nextReconnectDelay > 0) {
|
|
1303
|
+
this.debug(`STOMP: scheduling reconnection in ${this._nextReconnectDelay}ms`);
|
|
1186
1304
|
this._reconnector = setTimeout(() => {
|
|
1305
|
+
if (this.reconnectTimeMode === exports.ReconnectionTimeMode.EXPONENTIAL) {
|
|
1306
|
+
this._nextReconnectDelay = this._nextReconnectDelay * 2;
|
|
1307
|
+
// Truncated exponential backoff with a set limit unless disabled
|
|
1308
|
+
if (this.maxReconnectDelay !== 0) {
|
|
1309
|
+
this._nextReconnectDelay = Math.min(this._nextReconnectDelay, this.maxReconnectDelay);
|
|
1310
|
+
}
|
|
1311
|
+
}
|
|
1187
1312
|
this._connect();
|
|
1188
|
-
}, this.
|
|
1313
|
+
}, this._nextReconnectDelay);
|
|
1189
1314
|
}
|
|
1190
1315
|
}
|
|
1191
1316
|
/**
|
|
@@ -1220,6 +1345,8 @@
|
|
|
1220
1345
|
return Promise.resolve();
|
|
1221
1346
|
}
|
|
1222
1347
|
this._changeState(exports.ActivationState.DEACTIVATING);
|
|
1348
|
+
// Reset reconnection timer just to be safe
|
|
1349
|
+
this._nextReconnectDelay = 0;
|
|
1223
1350
|
// Clear if a reconnection was scheduled
|
|
1224
1351
|
if (this._reconnector) {
|
|
1225
1352
|
clearTimeout(this._reconnector);
|
package/bundles/stomp.umd.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stomp.umd.js","sources":["../src/byte.ts","../src/frame-impl.ts","../src/parser.ts","../src/types.ts","../src/versions.ts","../src/augment-websocket.ts","../src/stomp-handler.ts","../src/client.ts","../src/stomp-config.ts","../src/stomp-headers.ts","../src/compatibility/heartbeat-info.ts","../src/compatibility/compat-client.ts","../src/compatibility/stomp.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["StompSocketState","ActivationState"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"stomp.umd.js","sources":["../src/augment-websocket.ts","../src/byte.ts","../src/frame-impl.ts","../src/parser.ts","../src/types.ts","../src/ticker.ts","../src/versions.ts","../src/stomp-handler.ts","../src/client.ts","../src/stomp-config.ts","../src/stomp-headers.ts","../src/compatibility/heartbeat-info.ts","../src/compatibility/compat-client.ts","../src/compatibility/stomp.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["StompSocketState","ActivationState","ReconnectionTimeMode","TickerStrategy"],"mappings":"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"}
|
package/bundles/stomp.umd.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).StompJs={})}(this,(function(e){"use strict";const t="\n",s="\0";class n{get body(){return!this._body&&this.isBinaryBody&&(this._body=(new TextDecoder).decode(this._binaryBody)),this._body||""}get binaryBody(){return this._binaryBody||this.isBinaryBody||(this._binaryBody=(new TextEncoder).encode(this._body)),this._binaryBody}constructor(e){const{command:t,headers:s,body:n,binaryBody:i,escapeHeaderValues:o,skipContentLengthHeader:c}=e;this.command=t,this.headers=Object.assign({},s||{}),i?(this._binaryBody=i,this.isBinaryBody=!0):(this._body=n||"",this.isBinaryBody=!1),this.escapeHeaderValues=o||!1,this.skipContentLengthHeader=c||!1}static fromRawFrame(e,t){const s={},i=e=>e.replace(/^\s+|\s+$/g,"");for(const o of e.headers.reverse()){o.indexOf(":");const c=i(o[0]);let r=i(o[1]);t&&"CONNECT"!==e.command&&"CONNECTED"!==e.command&&(r=n.hdrValueUnEscape(r)),s[c]=r}return new n({command:e.command,headers:s,binaryBody:e.binaryBody,escapeHeaderValues:t})}toString(){return this.serializeCmdAndHeaders()}serialize(){const e=this.serializeCmdAndHeaders();return this.isBinaryBody?n.toUnit8Array(e,this._binaryBody).buffer:e+this._body+s}serializeCmdAndHeaders(){const e=[this.command];this.skipContentLengthHeader&&delete this.headers["content-length"];for(const t of Object.keys(this.headers||{})){const s=this.headers[t];this.escapeHeaderValues&&"CONNECT"!==this.command&&"CONNECTED"!==this.command?e.push(`${t}:${n.hdrValueEscape(`${s}`)}`):e.push(`${t}:${s}`)}return(this.isBinaryBody||!this.isBodyEmpty()&&!this.skipContentLengthHeader)&&e.push(`content-length:${this.bodyLength()}`),e.join(t)+t+t}isBodyEmpty(){return 0===this.bodyLength()}bodyLength(){const e=this.binaryBody;return e?e.length:0}static sizeOfUTF8(e){return e?(new TextEncoder).encode(e).length:0}static toUnit8Array(e,t){const s=(new TextEncoder).encode(e),n=new Uint8Array([0]),i=new Uint8Array(s.length+t.length+n.length);return i.set(s),i.set(t,s.length),i.set(n,s.length+t.length),i}static marshall(e){return new n(e).serialize()}static hdrValueEscape(e){return e.replace(/\\/g,"\\\\").replace(/\r/g,"\\r").replace(/\n/g,"\\n").replace(/:/g,"\\c")}static hdrValueUnEscape(e){return e.replace(/\\r/g,"\r").replace(/\\n/g,"\n").replace(/\\c/g,":").replace(/\\\\/g,"\\")}}class i{constructor(e,t){this.onFrame=e,this.onIncomingPing=t,this._encoder=new TextEncoder,this._decoder=new TextDecoder,this._token=[],this._initState()}parseChunk(e,t=!1){let s;if(s="string"==typeof e?this._encoder.encode(e):new Uint8Array(e),t&&0!==s[s.length-1]){const e=new Uint8Array(s.length+1);e.set(s,0),e[s.length]=0,s=e}for(let e=0;e<s.length;e++){const t=s[e];this._onByte(t)}}_collectFrame(e){0!==e&&13!==e&&(10!==e?(this._onByte=this._collectCommand,this._reinjectByte(e)):this.onIncomingPing())}_collectCommand(e){if(13!==e)return 10===e?(this._results.command=this._consumeTokenAsUTF8(),void(this._onByte=this._collectHeaders)):void this._consumeByte(e)}_collectHeaders(e){13!==e&&(10!==e?(this._onByte=this._collectHeaderKey,this._reinjectByte(e)):this._setupCollectBody())}_reinjectByte(e){this._onByte(e)}_collectHeaderKey(e){if(58===e)return this._headerKey=this._consumeTokenAsUTF8(),void(this._onByte=this._collectHeaderValue);this._consumeByte(e)}_collectHeaderValue(e){if(13!==e)return 10===e?(this._results.headers.push([this._headerKey,this._consumeTokenAsUTF8()]),this._headerKey=void 0,void(this._onByte=this._collectHeaders)):void this._consumeByte(e)}_setupCollectBody(){const e=this._results.headers.filter((e=>"content-length"===e[0]))[0];e?(this._bodyBytesRemaining=parseInt(e[1],10),this._onByte=this._collectBodyFixedSize):this._onByte=this._collectBodyNullTerminated}_collectBodyNullTerminated(e){0!==e?this._consumeByte(e):this._retrievedBody()}_collectBodyFixedSize(e){0!=this._bodyBytesRemaining--?this._consumeByte(e):this._retrievedBody()}_retrievedBody(){this._results.binaryBody=this._consumeTokenAsRaw();try{this.onFrame(this._results)}catch(e){console.log("Ignoring an exception thrown by a frame handler. Original exception: ",e)}this._initState()}_consumeByte(e){this._token.push(e)}_consumeTokenAsUTF8(){return this._decoder.decode(this._consumeTokenAsRaw())}_consumeTokenAsRaw(){const e=new Uint8Array(this._token);return this._token=[],e}_initState(){this._results={command:void 0,headers:[],binaryBody:void 0},this._token=[],this._headerKey=void 0,this._onByte=this._collectFrame}}var o,c;e.StompSocketState=void 0,(o=e.StompSocketState||(e.StompSocketState={}))[o.CONNECTING=0]="CONNECTING",o[o.OPEN=1]="OPEN",o[o.CLOSING=2]="CLOSING",o[o.CLOSED=3]="CLOSED",e.ActivationState=void 0,(c=e.ActivationState||(e.ActivationState={}))[c.ACTIVE=0]="ACTIVE",c[c.DEACTIVATING=1]="DEACTIVATING",c[c.INACTIVE=2]="INACTIVE";class r{constructor(e){this.versions=e}supportedVersions(){return this.versions.join(",")}protocolVersions(){return this.versions.map((e=>`v${e.replace(".","")}.stomp`))}}r.V1_0="1.0",r.V1_1="1.1",r.V1_2="1.2",r.default=new r([r.V1_2,r.V1_1,r.V1_0]);class a{get connectedVersion(){return this._connectedVersion}get connected(){return this._connected}constructor(e,t,s){this._client=e,this._webSocket=t,this._connected=!1,this._serverFrameHandlers={CONNECTED:e=>{this.debug(`connected to server ${e.headers.server}`),this._connected=!0,this._connectedVersion=e.headers.version,this._connectedVersion===r.V1_2&&(this._escapeHeaderValues=!0),this._setupHeartbeat(e.headers),this.onConnect(e)},MESSAGE:e=>{const t=e.headers.subscription,s=this._subscriptions[t]||this.onUnhandledMessage,n=e,i=this,o=this._connectedVersion===r.V1_2?n.headers.ack:n.headers["message-id"];n.ack=(e={})=>i.ack(o,t,e),n.nack=(e={})=>i.nack(o,t,e),s(n)},RECEIPT:e=>{const t=this._receiptWatchers[e.headers["receipt-id"]];t?(t(e),delete this._receiptWatchers[e.headers["receipt-id"]]):this.onUnhandledReceipt(e)},ERROR:e=>{this.onStompError(e)}},this._counter=0,this._subscriptions={},this._receiptWatchers={},this._partialData="",this._escapeHeaderValues=!1,this._lastServerActivityTS=Date.now(),this.debug=s.debug,this.stompVersions=s.stompVersions,this.connectHeaders=s.connectHeaders,this.disconnectHeaders=s.disconnectHeaders,this.heartbeatIncoming=s.heartbeatIncoming,this.heartbeatOutgoing=s.heartbeatOutgoing,this.splitLargeFrames=s.splitLargeFrames,this.maxWebSocketChunkSize=s.maxWebSocketChunkSize,this.forceBinaryWSFrames=s.forceBinaryWSFrames,this.logRawCommunication=s.logRawCommunication,this.appendMissingNULLonIncoming=s.appendMissingNULLonIncoming,this.discardWebsocketOnCommFailure=s.discardWebsocketOnCommFailure,this.onConnect=s.onConnect,this.onDisconnect=s.onDisconnect,this.onStompError=s.onStompError,this.onWebSocketClose=s.onWebSocketClose,this.onWebSocketError=s.onWebSocketError,this.onUnhandledMessage=s.onUnhandledMessage,this.onUnhandledReceipt=s.onUnhandledReceipt,this.onUnhandledFrame=s.onUnhandledFrame}start(){const e=new i((e=>{const t=n.fromRawFrame(e,this._escapeHeaderValues);this.logRawCommunication||this.debug(`<<< ${t}`);(this._serverFrameHandlers[t.command]||this.onUnhandledFrame)(t)}),(()=>{this.debug("<<< PONG")}));this._webSocket.onmessage=t=>{if(this.debug("Received data"),this._lastServerActivityTS=Date.now(),this.logRawCommunication){const e=t.data instanceof ArrayBuffer?(new TextDecoder).decode(t.data):t.data;this.debug(`<<< ${e}`)}e.parseChunk(t.data,this.appendMissingNULLonIncoming)},this._webSocket.onclose=e=>{this.debug(`Connection closed to ${this._webSocket.url}`),this._cleanUp(),this.onWebSocketClose(e)},this._webSocket.onerror=e=>{this.onWebSocketError(e)},this._webSocket.onopen=()=>{const e=Object.assign({},this.connectHeaders);this.debug("Web Socket Opened..."),e["accept-version"]=this.stompVersions.supportedVersions(),e["heart-beat"]=[this.heartbeatOutgoing,this.heartbeatIncoming].join(","),this._transmit({command:"CONNECT",headers:e})}}_setupHeartbeat(s){if(s.version!==r.V1_1&&s.version!==r.V1_2)return;if(!s["heart-beat"])return;const[n,i]=s["heart-beat"].split(",").map((e=>parseInt(e,10)));if(0!==this.heartbeatOutgoing&&0!==i){const s=Math.max(this.heartbeatOutgoing,i);this.debug(`send PING every ${s}ms`),this._pinger=setInterval((()=>{this._webSocket.readyState===e.StompSocketState.OPEN&&(this._webSocket.send(t),this.debug(">>> PING"))}),s)}if(0!==this.heartbeatIncoming&&0!==n){const e=Math.max(this.heartbeatIncoming,n);this.debug(`check PONG every ${e}ms`),this._ponger=setInterval((()=>{const t=Date.now()-this._lastServerActivityTS;t>2*e&&(this.debug(`did not receive server activity for the last ${t}ms`),this._closeOrDiscardWebsocket())}),e)}}_closeOrDiscardWebsocket(){this.discardWebsocketOnCommFailure?(this.debug("Discarding websocket, the underlying socket may linger for a while"),this.discardWebsocket()):(this.debug("Issuing close on the websocket"),this._closeWebsocket())}forceDisconnect(){this._webSocket&&(this._webSocket.readyState!==e.StompSocketState.CONNECTING&&this._webSocket.readyState!==e.StompSocketState.OPEN||this._closeOrDiscardWebsocket())}_closeWebsocket(){this._webSocket.onmessage=()=>{},this._webSocket.close()}discardWebsocket(){var e,t;"function"!=typeof this._webSocket.terminate&&(e=this._webSocket,t=e=>this.debug(e),e.terminate=function(){const s=()=>{};this.onerror=s,this.onmessage=s,this.onopen=s;const n=new Date,i=Math.random().toString().substring(2,8),o=this.onclose;this.onclose=e=>{const s=(new Date).getTime()-n.getTime();t(`Discarded socket (#${i}) closed after ${s}ms, with code/reason: ${e.code}/${e.reason}`)},this.close(),o?.call(e,{code:4001,reason:`Quick discarding socket (#${i}) without waiting for the shutdown sequence.`,wasClean:!1})}),this._webSocket.terminate()}_transmit(e){const{command:t,headers:s,body:i,binaryBody:o,skipContentLengthHeader:c}=e,r=new n({command:t,headers:s,body:i,binaryBody:o,escapeHeaderValues:this._escapeHeaderValues,skipContentLengthHeader:c});let a=r.serialize();if(this.logRawCommunication?this.debug(`>>> ${a}`):this.debug(`>>> ${r}`),this.forceBinaryWSFrames&&"string"==typeof a&&(a=(new TextEncoder).encode(a)),"string"==typeof a&&this.splitLargeFrames){let e=a;for(;e.length>0;){const t=e.substring(0,this.maxWebSocketChunkSize);e=e.substring(this.maxWebSocketChunkSize),this._webSocket.send(t),this.debug(`chunk sent = ${t.length}, remaining = ${e.length}`)}}else this._webSocket.send(a)}dispose(){if(this.connected)try{const e=Object.assign({},this.disconnectHeaders);e.receipt||(e.receipt="close-"+this._counter++),this.watchForReceipt(e.receipt,(e=>{this._closeWebsocket(),this._cleanUp(),this.onDisconnect(e)})),this._transmit({command:"DISCONNECT",headers:e})}catch(e){this.debug(`Ignoring error during disconnect ${e}`)}else this._webSocket.readyState!==e.StompSocketState.CONNECTING&&this._webSocket.readyState!==e.StompSocketState.OPEN||this._closeWebsocket()}_cleanUp(){this._connected=!1,this._pinger&&(clearInterval(this._pinger),this._pinger=void 0),this._ponger&&(clearInterval(this._ponger),this._ponger=void 0)}publish(e){const{destination:t,headers:s,body:n,binaryBody:i,skipContentLengthHeader:o}=e,c=Object.assign({destination:t},s);this._transmit({command:"SEND",headers:c,body:n,binaryBody:i,skipContentLengthHeader:o})}watchForReceipt(e,t){this._receiptWatchers[e]=t}subscribe(e,t,s={}){(s=Object.assign({},s)).id||(s.id="sub-"+this._counter++),s.destination=e,this._subscriptions[s.id]=t,this._transmit({command:"SUBSCRIBE",headers:s});const n=this;return{id:s.id,unsubscribe:e=>n.unsubscribe(s.id,e)}}unsubscribe(e,t={}){t=Object.assign({},t),delete this._subscriptions[e],t.id=e,this._transmit({command:"UNSUBSCRIBE",headers:t})}begin(e){const t=e||"tx-"+this._counter++;this._transmit({command:"BEGIN",headers:{transaction:t}});const s=this;return{id:t,commit(){s.commit(t)},abort(){s.abort(t)}}}commit(e){this._transmit({command:"COMMIT",headers:{transaction:e}})}abort(e){this._transmit({command:"ABORT",headers:{transaction:e}})}ack(e,t,s={}){s=Object.assign({},s),this._connectedVersion===r.V1_2?s.id=e:s["message-id"]=e,s.subscription=t,this._transmit({command:"ACK",headers:s})}nack(e,t,s={}){return s=Object.assign({},s),this._connectedVersion===r.V1_2?s.id=e:s["message-id"]=e,s.subscription=t,this._transmit({command:"NACK",headers:s})}}class h{get webSocket(){return this._stompHandler?._webSocket}get disconnectHeaders(){return this._disconnectHeaders}set disconnectHeaders(e){this._disconnectHeaders=e,this._stompHandler&&(this._stompHandler.disconnectHeaders=this._disconnectHeaders)}get connected(){return!!this._stompHandler&&this._stompHandler.connected}get connectedVersion(){return this._stompHandler?this._stompHandler.connectedVersion:void 0}get active(){return this.state===e.ActivationState.ACTIVE}_changeState(e){this.state=e,this.onChangeState(e)}constructor(t={}){this.stompVersions=r.default,this.connectionTimeout=0,this.reconnectDelay=5e3,this.heartbeatIncoming=1e4,this.heartbeatOutgoing=1e4,this.splitLargeFrames=!1,this.maxWebSocketChunkSize=8192,this.forceBinaryWSFrames=!1,this.appendMissingNULLonIncoming=!1,this.discardWebsocketOnCommFailure=!1,this.state=e.ActivationState.INACTIVE;const s=()=>{};this.debug=s,this.beforeConnect=s,this.onConnect=s,this.onDisconnect=s,this.onUnhandledMessage=s,this.onUnhandledReceipt=s,this.onUnhandledFrame=s,this.onStompError=s,this.onWebSocketClose=s,this.onWebSocketError=s,this.logRawCommunication=!1,this.onChangeState=s,this.connectHeaders={},this._disconnectHeaders={},this.configure(t)}configure(e){Object.assign(this,e)}activate(){const t=()=>{this.active?this.debug("Already ACTIVE, ignoring request to activate"):(this._changeState(e.ActivationState.ACTIVE),this._connect())};this.state===e.ActivationState.DEACTIVATING?(this.debug("Waiting for deactivation to finish before activating"),this.deactivate().then((()=>{t()}))):t()}async _connect(){if(await this.beforeConnect(),this._stompHandler)return void this.debug("There is already a stompHandler, skipping the call to connect");if(!this.active)return void this.debug("Client has been marked inactive, will not attempt to connect");this.connectionTimeout>0&&(this._connectionWatcher&&clearTimeout(this._connectionWatcher),this._connectionWatcher=setTimeout((()=>{this.connected||(this.debug(`Connection not established in ${this.connectionTimeout}ms, closing socket`),this.forceDisconnect())}),this.connectionTimeout)),this.debug("Opening Web Socket...");const t=this._createWebSocket();this._stompHandler=new a(this,t,{debug:this.debug,stompVersions:this.stompVersions,connectHeaders:this.connectHeaders,disconnectHeaders:this._disconnectHeaders,heartbeatIncoming:this.heartbeatIncoming,heartbeatOutgoing:this.heartbeatOutgoing,splitLargeFrames:this.splitLargeFrames,maxWebSocketChunkSize:this.maxWebSocketChunkSize,forceBinaryWSFrames:this.forceBinaryWSFrames,logRawCommunication:this.logRawCommunication,appendMissingNULLonIncoming:this.appendMissingNULLonIncoming,discardWebsocketOnCommFailure:this.discardWebsocketOnCommFailure,onConnect:e=>{if(this._connectionWatcher&&(clearTimeout(this._connectionWatcher),this._connectionWatcher=void 0),!this.active)return this.debug("STOMP got connected while deactivate was issued, will disconnect now"),void this._disposeStompHandler();this.onConnect(e)},onDisconnect:e=>{this.onDisconnect(e)},onStompError:e=>{this.onStompError(e)},onWebSocketClose:t=>{this._stompHandler=void 0,this.state===e.ActivationState.DEACTIVATING&&this._changeState(e.ActivationState.INACTIVE),this.onWebSocketClose(t),this.active&&this._schedule_reconnect()},onWebSocketError:e=>{this.onWebSocketError(e)},onUnhandledMessage:e=>{this.onUnhandledMessage(e)},onUnhandledReceipt:e=>{this.onUnhandledReceipt(e)},onUnhandledFrame:e=>{this.onUnhandledFrame(e)}}),this._stompHandler.start()}_createWebSocket(){let e;if(this.webSocketFactory)e=this.webSocketFactory();else{if(!this.brokerURL)throw new Error("Either brokerURL or webSocketFactory must be provided");e=new WebSocket(this.brokerURL,this.stompVersions.protocolVersions())}return e.binaryType="arraybuffer",e}_schedule_reconnect(){this.reconnectDelay>0&&(this.debug(`STOMP: scheduling reconnection in ${this.reconnectDelay}ms`),this._reconnector=setTimeout((()=>{this._connect()}),this.reconnectDelay))}async deactivate(t={}){const s=t.force||!1,n=this.active;let i;if(this.state===e.ActivationState.INACTIVE)return this.debug("Already INACTIVE, nothing more to do"),Promise.resolve();if(this._changeState(e.ActivationState.DEACTIVATING),this._reconnector&&(clearTimeout(this._reconnector),this._reconnector=void 0),!this._stompHandler||this.webSocket.readyState===e.StompSocketState.CLOSED)return this._changeState(e.ActivationState.INACTIVE),Promise.resolve();{const e=this._stompHandler.onWebSocketClose;i=new Promise(((t,s)=>{this._stompHandler.onWebSocketClose=s=>{e(s),t()}}))}return s?this._stompHandler?.discardWebsocket():n&&this._disposeStompHandler(),i}forceDisconnect(){this._stompHandler&&this._stompHandler.forceDisconnect()}_disposeStompHandler(){this._stompHandler&&this._stompHandler.dispose()}publish(e){this._checkConnection(),this._stompHandler.publish(e)}_checkConnection(){if(!this.connected)throw new TypeError("There is no underlying STOMP connection")}watchForReceipt(e,t){this._checkConnection(),this._stompHandler.watchForReceipt(e,t)}subscribe(e,t,s={}){return this._checkConnection(),this._stompHandler.subscribe(e,t,s)}unsubscribe(e,t={}){this._checkConnection(),this._stompHandler.unsubscribe(e,t)}begin(e){return this._checkConnection(),this._stompHandler.begin(e)}commit(e){this._checkConnection(),this._stompHandler.commit(e)}abort(e){this._checkConnection(),this._stompHandler.abort(e)}ack(e,t,s={}){this._checkConnection(),this._stompHandler.ack(e,t,s)}nack(e,t,s={}){this._checkConnection(),this._stompHandler.nack(e,t,s)}}class d{constructor(e){this.client=e}get outgoing(){return this.client.heartbeatOutgoing}set outgoing(e){this.client.heartbeatOutgoing=e}get incoming(){return this.client.heartbeatIncoming}set incoming(e){this.client.heartbeatIncoming=e}}class l extends h{constructor(e){super(),this.maxWebSocketFrameSize=16384,this._heartbeatInfo=new d(this),this.reconnect_delay=0,this.webSocketFactory=e,this.debug=(...e)=>{console.log(...e)}}_parseConnect(...e){let t,s,n,i={};if(e.length<2)throw new Error("Connect requires at least 2 arguments");if("function"==typeof e[1])[i,s,n,t]=e;else if(6===e.length)[i.login,i.passcode,s,n,t,i.host]=e;else[i.login,i.passcode,s,n,t]=e;return[i,s,n,t]}connect(...e){const t=this._parseConnect(...e);t[0]&&(this.connectHeaders=t[0]),t[1]&&(this.onConnect=t[1]),t[2]&&(this.onStompError=t[2]),t[3]&&(this.onWebSocketClose=t[3]),super.activate()}disconnect(e,t={}){e&&(this.onDisconnect=e),this.disconnectHeaders=t,super.deactivate()}send(e,t={},s=""){const n=!1===(t=Object.assign({},t))["content-length"];n&&delete t["content-length"],this.publish({destination:e,headers:t,body:s,skipContentLengthHeader:n})}set reconnect_delay(e){this.reconnectDelay=e}get ws(){return this.webSocket}get version(){return this.connectedVersion}get onreceive(){return this.onUnhandledMessage}set onreceive(e){this.onUnhandledMessage=e}get onreceipt(){return this.onUnhandledReceipt}set onreceipt(e){this.onUnhandledReceipt=e}get heartbeat(){return this._heartbeatInfo}set heartbeat(e){this.heartbeatIncoming=e.incoming,this.heartbeatOutgoing=e.outgoing}}class m{static client(e,t){null==t&&(t=r.default.protocolVersions());return new l((()=>new(m.WebSocketClass||WebSocket)(e,t)))}static over(e){let t;return"function"==typeof e?t=e:(console.warn("Stomp.over did not receive a factory, auto reconnect will not work. Please see https://stomp-js.github.io/api-docs/latest/classes/Stomp.html#over"),t=()=>e),new l(t)}}m.WebSocketClass=null,e.Client=h,e.CompatClient=l,e.FrameImpl=n,e.Parser=i,e.Stomp=m,e.StompConfig=class{},e.StompHeaders=class{},e.Versions=r}));
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).StompJs={})}(this,(function(e){"use strict";const t="\n",n="\0";class s{get body(){return!this._body&&this.isBinaryBody&&(this._body=(new TextDecoder).decode(this._binaryBody)),this._body||""}get binaryBody(){return this._binaryBody||this.isBinaryBody||(this._binaryBody=(new TextEncoder).encode(this._body)),this._binaryBody}constructor(e){const{command:t,headers:n,body:s,binaryBody:i,escapeHeaderValues:o,skipContentLengthHeader:r}=e;this.command=t,this.headers=Object.assign({},n||{}),i?(this._binaryBody=i,this.isBinaryBody=!0):(this._body=s||"",this.isBinaryBody=!1),this.escapeHeaderValues=o||!1,this.skipContentLengthHeader=r||!1}static fromRawFrame(e,t){const n={},i=e=>e.replace(/^\s+|\s+$/g,"");for(const o of e.headers.reverse()){o.indexOf(":");const r=i(o[0]);let c=i(o[1]);t&&"CONNECT"!==e.command&&"CONNECTED"!==e.command&&(c=s.hdrValueUnEscape(c)),n[r]=c}return new s({command:e.command,headers:n,binaryBody:e.binaryBody,escapeHeaderValues:t})}toString(){return this.serializeCmdAndHeaders()}serialize(){const e=this.serializeCmdAndHeaders();return this.isBinaryBody?s.toUnit8Array(e,this._binaryBody).buffer:e+this._body+n}serializeCmdAndHeaders(){const e=[this.command];this.skipContentLengthHeader&&delete this.headers["content-length"];for(const t of Object.keys(this.headers||{})){const n=this.headers[t];this.escapeHeaderValues&&"CONNECT"!==this.command&&"CONNECTED"!==this.command?e.push(`${t}:${s.hdrValueEscape(`${n}`)}`):e.push(`${t}:${n}`)}return(this.isBinaryBody||!this.isBodyEmpty()&&!this.skipContentLengthHeader)&&e.push(`content-length:${this.bodyLength()}`),e.join(t)+t+t}isBodyEmpty(){return 0===this.bodyLength()}bodyLength(){const e=this.binaryBody;return e?e.length:0}static sizeOfUTF8(e){return e?(new TextEncoder).encode(e).length:0}static toUnit8Array(e,t){const n=(new TextEncoder).encode(e),s=new Uint8Array([0]),i=new Uint8Array(n.length+t.length+s.length);return i.set(n),i.set(t,n.length),i.set(s,n.length+t.length),i}static marshall(e){return new s(e).serialize()}static hdrValueEscape(e){return e.replace(/\\/g,"\\\\").replace(/\r/g,"\\r").replace(/\n/g,"\\n").replace(/:/g,"\\c")}static hdrValueUnEscape(e){return e.replace(/\\r/g,"\r").replace(/\\n/g,"\n").replace(/\\c/g,":").replace(/\\\\/g,"\\")}}class i{constructor(e,t){this.onFrame=e,this.onIncomingPing=t,this._encoder=new TextEncoder,this._decoder=new TextDecoder,this._token=[],this._initState()}parseChunk(e,t=!1){let n;if(n="string"==typeof e?this._encoder.encode(e):new Uint8Array(e),t&&0!==n[n.length-1]){const e=new Uint8Array(n.length+1);e.set(n,0),e[n.length]=0,n=e}for(let e=0;e<n.length;e++){const t=n[e];this._onByte(t)}}_collectFrame(e){0!==e&&13!==e&&(10!==e?(this._onByte=this._collectCommand,this._reinjectByte(e)):this.onIncomingPing())}_collectCommand(e){if(13!==e)return 10===e?(this._results.command=this._consumeTokenAsUTF8(),void(this._onByte=this._collectHeaders)):void this._consumeByte(e)}_collectHeaders(e){13!==e&&(10!==e?(this._onByte=this._collectHeaderKey,this._reinjectByte(e)):this._setupCollectBody())}_reinjectByte(e){this._onByte(e)}_collectHeaderKey(e){if(58===e)return this._headerKey=this._consumeTokenAsUTF8(),void(this._onByte=this._collectHeaderValue);this._consumeByte(e)}_collectHeaderValue(e){if(13!==e)return 10===e?(this._results.headers.push([this._headerKey,this._consumeTokenAsUTF8()]),this._headerKey=void 0,void(this._onByte=this._collectHeaders)):void this._consumeByte(e)}_setupCollectBody(){const e=this._results.headers.filter((e=>"content-length"===e[0]))[0];e?(this._bodyBytesRemaining=parseInt(e[1],10),this._onByte=this._collectBodyFixedSize):this._onByte=this._collectBodyNullTerminated}_collectBodyNullTerminated(e){0!==e?this._consumeByte(e):this._retrievedBody()}_collectBodyFixedSize(e){0!=this._bodyBytesRemaining--?this._consumeByte(e):this._retrievedBody()}_retrievedBody(){this._results.binaryBody=this._consumeTokenAsRaw();try{this.onFrame(this._results)}catch(e){console.log("Ignoring an exception thrown by a frame handler. Original exception: ",e)}this._initState()}_consumeByte(e){this._token.push(e)}_consumeTokenAsUTF8(){return this._decoder.decode(this._consumeTokenAsRaw())}_consumeTokenAsRaw(){const e=new Uint8Array(this._token);return this._token=[],e}_initState(){this._results={command:void 0,headers:[],binaryBody:void 0},this._token=[],this._headerKey=void 0,this._onByte=this._collectFrame}}var o,r,c,a;e.StompSocketState=void 0,(o=e.StompSocketState||(e.StompSocketState={}))[o.CONNECTING=0]="CONNECTING",o[o.OPEN=1]="OPEN",o[o.CLOSING=2]="CLOSING",o[o.CLOSED=3]="CLOSED",e.ActivationState=void 0,(r=e.ActivationState||(e.ActivationState={}))[r.ACTIVE=0]="ACTIVE",r[r.DEACTIVATING=1]="DEACTIVATING",r[r.INACTIVE=2]="INACTIVE",e.ReconnectionTimeMode=void 0,(c=e.ReconnectionTimeMode||(e.ReconnectionTimeMode={}))[c.LINEAR=0]="LINEAR",c[c.EXPONENTIAL=1]="EXPONENTIAL",e.TickerStrategy=void 0,(a=e.TickerStrategy||(e.TickerStrategy={})).Interval="interval",a.Worker="worker";class h{constructor(t,n=e.TickerStrategy.Interval,s){this._interval=t,this._strategy=n,this._debug=s,this._workerScript=`\n var startTime = Date.now();\n setInterval(function() {\n self.postMessage(Date.now() - startTime);\n }, ${this._interval});\n `}start(e){this.stop(),this.shouldUseWorker()?this.runWorker(e):this.runInterval(e)}stop(){this.disposeWorker(),this.disposeInterval()}shouldUseWorker(){return"undefined"!=typeof Worker&&this._strategy===e.TickerStrategy.Worker}runWorker(e){this._debug("Using runWorker for outgoing pings"),this._worker||(this._worker=new Worker(URL.createObjectURL(new Blob([this._workerScript],{type:"text/javascript"}))),this._worker.onmessage=t=>e(t.data))}runInterval(e){if(this._debug("Using runInterval for outgoing pings"),!this._timer){const t=Date.now();this._timer=setInterval((()=>{e(Date.now()-t)}),this._interval)}}disposeWorker(){this._worker&&(this._worker.terminate(),delete this._worker,this._debug("Outgoing ping disposeWorker"))}disposeInterval(){this._timer&&(clearInterval(this._timer),delete this._timer,this._debug("Outgoing ping disposeInterval"))}}class d{constructor(e){this.versions=e}supportedVersions(){return this.versions.join(",")}protocolVersions(){return this.versions.map((e=>`v${e.replace(".","")}.stomp`))}}d.V1_0="1.0",d.V1_1="1.1",d.V1_2="1.2",d.default=new d([d.V1_2,d.V1_1,d.V1_0]);class l{get connectedVersion(){return this._connectedVersion}get connected(){return this._connected}constructor(e,t,n){this._client=e,this._webSocket=t,this._connected=!1,this._serverFrameHandlers={CONNECTED:e=>{this.debug(`connected to server ${e.headers.server}`),this._connected=!0,this._connectedVersion=e.headers.version,this._connectedVersion===d.V1_2&&(this._escapeHeaderValues=!0),this._setupHeartbeat(e.headers),this.onConnect(e)},MESSAGE:e=>{const t=e.headers.subscription,n=this._subscriptions[t]||this.onUnhandledMessage,s=e,i=this,o=this._connectedVersion===d.V1_2?s.headers.ack:s.headers["message-id"];s.ack=(e={})=>i.ack(o,t,e),s.nack=(e={})=>i.nack(o,t,e),n(s)},RECEIPT:e=>{const t=this._receiptWatchers[e.headers["receipt-id"]];t?(t(e),delete this._receiptWatchers[e.headers["receipt-id"]]):this.onUnhandledReceipt(e)},ERROR:e=>{this.onStompError(e)}},this._counter=0,this._subscriptions={},this._receiptWatchers={},this._partialData="",this._escapeHeaderValues=!1,this._lastServerActivityTS=Date.now(),this.debug=n.debug,this.stompVersions=n.stompVersions,this.connectHeaders=n.connectHeaders,this.disconnectHeaders=n.disconnectHeaders,this.heartbeatIncoming=n.heartbeatIncoming,this.heartbeatOutgoing=n.heartbeatOutgoing,this.splitLargeFrames=n.splitLargeFrames,this.maxWebSocketChunkSize=n.maxWebSocketChunkSize,this.forceBinaryWSFrames=n.forceBinaryWSFrames,this.logRawCommunication=n.logRawCommunication,this.appendMissingNULLonIncoming=n.appendMissingNULLonIncoming,this.discardWebsocketOnCommFailure=n.discardWebsocketOnCommFailure,this.onConnect=n.onConnect,this.onDisconnect=n.onDisconnect,this.onStompError=n.onStompError,this.onWebSocketClose=n.onWebSocketClose,this.onWebSocketError=n.onWebSocketError,this.onUnhandledMessage=n.onUnhandledMessage,this.onUnhandledReceipt=n.onUnhandledReceipt,this.onUnhandledFrame=n.onUnhandledFrame}start(){const e=new i((e=>{const t=s.fromRawFrame(e,this._escapeHeaderValues);this.logRawCommunication||this.debug(`<<< ${t}`);(this._serverFrameHandlers[t.command]||this.onUnhandledFrame)(t)}),(()=>{this.debug("<<< PONG")}));this._webSocket.onmessage=t=>{if(this.debug("Received data"),this._lastServerActivityTS=Date.now(),this.logRawCommunication){const e=t.data instanceof ArrayBuffer?(new TextDecoder).decode(t.data):t.data;this.debug(`<<< ${e}`)}e.parseChunk(t.data,this.appendMissingNULLonIncoming)},this._webSocket.onclose=e=>{this.debug(`Connection closed to ${this._webSocket.url}`),this._cleanUp(),this.onWebSocketClose(e)},this._webSocket.onerror=e=>{this.onWebSocketError(e)},this._webSocket.onopen=()=>{const e=Object.assign({},this.connectHeaders);this.debug("Web Socket Opened..."),e["accept-version"]=this.stompVersions.supportedVersions(),e["heart-beat"]=[this.heartbeatOutgoing,this.heartbeatIncoming].join(","),this._transmit({command:"CONNECT",headers:e})}}_setupHeartbeat(n){if(n.version!==d.V1_1&&n.version!==d.V1_2)return;if(!n["heart-beat"])return;const[s,i]=n["heart-beat"].split(",").map((e=>parseInt(e,10)));if(0!==this.heartbeatOutgoing&&0!==i){const n=Math.max(this.heartbeatOutgoing,i);this.debug(`send PING every ${n}ms`),this._pinger=new h(n,this._client.heartbeatStrategy,this.debug),this._pinger.start((()=>{this._webSocket.readyState===e.StompSocketState.OPEN&&(this._webSocket.send(t),this.debug(">>> PING"))}))}if(0!==this.heartbeatIncoming&&0!==s){const e=Math.max(this.heartbeatIncoming,s);this.debug(`check PONG every ${e}ms`),this._ponger=setInterval((()=>{const t=Date.now()-this._lastServerActivityTS;t>2*e&&(this.debug(`did not receive server activity for the last ${t}ms`),this._closeOrDiscardWebsocket())}),e)}}_closeOrDiscardWebsocket(){this.discardWebsocketOnCommFailure?(this.debug("Discarding websocket, the underlying socket may linger for a while"),this.discardWebsocket()):(this.debug("Issuing close on the websocket"),this._closeWebsocket())}forceDisconnect(){this._webSocket&&(this._webSocket.readyState!==e.StompSocketState.CONNECTING&&this._webSocket.readyState!==e.StompSocketState.OPEN||this._closeOrDiscardWebsocket())}_closeWebsocket(){this._webSocket.onmessage=()=>{},this._webSocket.close()}discardWebsocket(){var e,t;"function"!=typeof this._webSocket.terminate&&(e=this._webSocket,t=e=>this.debug(e),e.terminate=function(){const n=()=>{};this.onerror=n,this.onmessage=n,this.onopen=n;const s=new Date,i=Math.random().toString().substring(2,8),o=this.onclose;this.onclose=e=>{const n=(new Date).getTime()-s.getTime();t(`Discarded socket (#${i}) closed after ${n}ms, with code/reason: ${e.code}/${e.reason}`)},this.close(),o?.call(e,{code:4001,reason:`Quick discarding socket (#${i}) without waiting for the shutdown sequence.`,wasClean:!1})}),this._webSocket.terminate()}_transmit(e){const{command:t,headers:n,body:i,binaryBody:o,skipContentLengthHeader:r}=e,c=new s({command:t,headers:n,body:i,binaryBody:o,escapeHeaderValues:this._escapeHeaderValues,skipContentLengthHeader:r});let a=c.serialize();if(this.logRawCommunication?this.debug(`>>> ${a}`):this.debug(`>>> ${c}`),this.forceBinaryWSFrames&&"string"==typeof a&&(a=(new TextEncoder).encode(a)),"string"==typeof a&&this.splitLargeFrames){let e=a;for(;e.length>0;){const t=e.substring(0,this.maxWebSocketChunkSize);e=e.substring(this.maxWebSocketChunkSize),this._webSocket.send(t),this.debug(`chunk sent = ${t.length}, remaining = ${e.length}`)}}else this._webSocket.send(a)}dispose(){if(this.connected)try{const e=Object.assign({},this.disconnectHeaders);e.receipt||(e.receipt="close-"+this._counter++),this.watchForReceipt(e.receipt,(e=>{this._closeWebsocket(),this._cleanUp(),this.onDisconnect(e)})),this._transmit({command:"DISCONNECT",headers:e})}catch(e){this.debug(`Ignoring error during disconnect ${e}`)}else this._webSocket.readyState!==e.StompSocketState.CONNECTING&&this._webSocket.readyState!==e.StompSocketState.OPEN||this._closeWebsocket()}_cleanUp(){this._connected=!1,this._pinger&&(this._pinger.stop(),this._pinger=void 0),this._ponger&&(clearInterval(this._ponger),this._ponger=void 0)}publish(e){const{destination:t,headers:n,body:s,binaryBody:i,skipContentLengthHeader:o}=e,r=Object.assign({destination:t},n);this._transmit({command:"SEND",headers:r,body:s,binaryBody:i,skipContentLengthHeader:o})}watchForReceipt(e,t){this._receiptWatchers[e]=t}subscribe(e,t,n={}){(n=Object.assign({},n)).id||(n.id="sub-"+this._counter++),n.destination=e,this._subscriptions[n.id]=t,this._transmit({command:"SUBSCRIBE",headers:n});const s=this;return{id:n.id,unsubscribe:e=>s.unsubscribe(n.id,e)}}unsubscribe(e,t={}){t=Object.assign({},t),delete this._subscriptions[e],t.id=e,this._transmit({command:"UNSUBSCRIBE",headers:t})}begin(e){const t=e||"tx-"+this._counter++;this._transmit({command:"BEGIN",headers:{transaction:t}});const n=this;return{id:t,commit(){n.commit(t)},abort(){n.abort(t)}}}commit(e){this._transmit({command:"COMMIT",headers:{transaction:e}})}abort(e){this._transmit({command:"ABORT",headers:{transaction:e}})}ack(e,t,n={}){n=Object.assign({},n),this._connectedVersion===d.V1_2?n.id=e:n["message-id"]=e,n.subscription=t,this._transmit({command:"ACK",headers:n})}nack(e,t,n={}){return n=Object.assign({},n),this._connectedVersion===d.V1_2?n.id=e:n["message-id"]=e,n.subscription=t,this._transmit({command:"NACK",headers:n})}}class m{get webSocket(){return this._stompHandler?._webSocket}get disconnectHeaders(){return this._disconnectHeaders}set disconnectHeaders(e){this._disconnectHeaders=e,this._stompHandler&&(this._stompHandler.disconnectHeaders=this._disconnectHeaders)}get connected(){return!!this._stompHandler&&this._stompHandler.connected}get connectedVersion(){return this._stompHandler?this._stompHandler.connectedVersion:void 0}get active(){return this.state===e.ActivationState.ACTIVE}_changeState(e){this.state=e,this.onChangeState(e)}constructor(t={}){this.stompVersions=d.default,this.connectionTimeout=0,this.reconnectDelay=5e3,this._nextReconnectDelay=0,this.maxReconnectDelay=9e5,this.reconnectTimeMode=e.ReconnectionTimeMode.LINEAR,this.heartbeatIncoming=1e4,this.heartbeatOutgoing=1e4,this.heartbeatStrategy=e.TickerStrategy.Interval,this.splitLargeFrames=!1,this.maxWebSocketChunkSize=8192,this.forceBinaryWSFrames=!1,this.appendMissingNULLonIncoming=!1,this.discardWebsocketOnCommFailure=!1,this.state=e.ActivationState.INACTIVE;const n=()=>{};this.debug=n,this.beforeConnect=n,this.onConnect=n,this.onDisconnect=n,this.onUnhandledMessage=n,this.onUnhandledReceipt=n,this.onUnhandledFrame=n,this.onStompError=n,this.onWebSocketClose=n,this.onWebSocketError=n,this.logRawCommunication=!1,this.onChangeState=n,this.connectHeaders={},this._disconnectHeaders={},this.configure(t)}configure(e){Object.assign(this,e),this.maxReconnectDelay>0&&this.maxReconnectDelay<this.reconnectDelay&&(this.debug(`Warning: maxReconnectDelay (${this.maxReconnectDelay}ms) is less than reconnectDelay (${this.reconnectDelay}ms). Using reconnectDelay as the maxReconnectDelay delay.`),this.maxReconnectDelay=this.reconnectDelay)}activate(){const t=()=>{this.active?this.debug("Already ACTIVE, ignoring request to activate"):(this._changeState(e.ActivationState.ACTIVE),this._nextReconnectDelay=this.reconnectDelay,this._connect())};this.state===e.ActivationState.DEACTIVATING?(this.debug("Waiting for deactivation to finish before activating"),this.deactivate().then((()=>{t()}))):t()}async _connect(){if(await this.beforeConnect(this),this._stompHandler)return void this.debug("There is already a stompHandler, skipping the call to connect");if(!this.active)return void this.debug("Client has been marked inactive, will not attempt to connect");this.connectionTimeout>0&&(this._connectionWatcher&&clearTimeout(this._connectionWatcher),this._connectionWatcher=setTimeout((()=>{this.connected||(this.debug(`Connection not established in ${this.connectionTimeout}ms, closing socket`),this.forceDisconnect())}),this.connectionTimeout)),this.debug("Opening Web Socket...");const t=this._createWebSocket();this._stompHandler=new l(this,t,{debug:this.debug,stompVersions:this.stompVersions,connectHeaders:this.connectHeaders,disconnectHeaders:this._disconnectHeaders,heartbeatIncoming:this.heartbeatIncoming,heartbeatOutgoing:this.heartbeatOutgoing,heartbeatStrategy:this.heartbeatStrategy,splitLargeFrames:this.splitLargeFrames,maxWebSocketChunkSize:this.maxWebSocketChunkSize,forceBinaryWSFrames:this.forceBinaryWSFrames,logRawCommunication:this.logRawCommunication,appendMissingNULLonIncoming:this.appendMissingNULLonIncoming,discardWebsocketOnCommFailure:this.discardWebsocketOnCommFailure,onConnect:e=>{if(this._connectionWatcher&&(clearTimeout(this._connectionWatcher),this._connectionWatcher=void 0),!this.active)return this.debug("STOMP got connected while deactivate was issued, will disconnect now"),void this._disposeStompHandler();this.onConnect(e)},onDisconnect:e=>{this.onDisconnect(e)},onStompError:e=>{this.onStompError(e)},onWebSocketClose:t=>{this._stompHandler=void 0,this.state===e.ActivationState.DEACTIVATING&&this._changeState(e.ActivationState.INACTIVE),this.onWebSocketClose(t),this.active&&this._schedule_reconnect()},onWebSocketError:e=>{this.onWebSocketError(e)},onUnhandledMessage:e=>{this.onUnhandledMessage(e)},onUnhandledReceipt:e=>{this.onUnhandledReceipt(e)},onUnhandledFrame:e=>{this.onUnhandledFrame(e)}}),this._stompHandler.start()}_createWebSocket(){let e;if(this.webSocketFactory)e=this.webSocketFactory();else{if(!this.brokerURL)throw new Error("Either brokerURL or webSocketFactory must be provided");e=new WebSocket(this.brokerURL,this.stompVersions.protocolVersions())}return e.binaryType="arraybuffer",e}_schedule_reconnect(){this._nextReconnectDelay>0&&(this.debug(`STOMP: scheduling reconnection in ${this._nextReconnectDelay}ms`),this._reconnector=setTimeout((()=>{this.reconnectTimeMode===e.ReconnectionTimeMode.EXPONENTIAL&&(this._nextReconnectDelay=2*this._nextReconnectDelay,0!==this.maxReconnectDelay&&(this._nextReconnectDelay=Math.min(this._nextReconnectDelay,this.maxReconnectDelay))),this._connect()}),this._nextReconnectDelay))}async deactivate(t={}){const n=t.force||!1,s=this.active;let i;if(this.state===e.ActivationState.INACTIVE)return this.debug("Already INACTIVE, nothing more to do"),Promise.resolve();if(this._changeState(e.ActivationState.DEACTIVATING),this._nextReconnectDelay=0,this._reconnector&&(clearTimeout(this._reconnector),this._reconnector=void 0),!this._stompHandler||this.webSocket.readyState===e.StompSocketState.CLOSED)return this._changeState(e.ActivationState.INACTIVE),Promise.resolve();{const e=this._stompHandler.onWebSocketClose;i=new Promise(((t,n)=>{this._stompHandler.onWebSocketClose=n=>{e(n),t()}}))}return n?this._stompHandler?.discardWebsocket():s&&this._disposeStompHandler(),i}forceDisconnect(){this._stompHandler&&this._stompHandler.forceDisconnect()}_disposeStompHandler(){this._stompHandler&&this._stompHandler.dispose()}publish(e){this._checkConnection(),this._stompHandler.publish(e)}_checkConnection(){if(!this.connected)throw new TypeError("There is no underlying STOMP connection")}watchForReceipt(e,t){this._checkConnection(),this._stompHandler.watchForReceipt(e,t)}subscribe(e,t,n={}){return this._checkConnection(),this._stompHandler.subscribe(e,t,n)}unsubscribe(e,t={}){this._checkConnection(),this._stompHandler.unsubscribe(e,t)}begin(e){return this._checkConnection(),this._stompHandler.begin(e)}commit(e){this._checkConnection(),this._stompHandler.commit(e)}abort(e){this._checkConnection(),this._stompHandler.abort(e)}ack(e,t,n={}){this._checkConnection(),this._stompHandler.ack(e,t,n)}nack(e,t,n={}){this._checkConnection(),this._stompHandler.nack(e,t,n)}}class g{constructor(e){this.client=e}get outgoing(){return this.client.heartbeatOutgoing}set outgoing(e){this.client.heartbeatOutgoing=e}get incoming(){return this.client.heartbeatIncoming}set incoming(e){this.client.heartbeatIncoming=e}}class _ extends m{constructor(e){super(),this.maxWebSocketFrameSize=16384,this._heartbeatInfo=new g(this),this.reconnect_delay=0,this.webSocketFactory=e,this.debug=(...e)=>{console.log(...e)}}_parseConnect(...e){let t,n,s,i={};if(e.length<2)throw new Error("Connect requires at least 2 arguments");if("function"==typeof e[1])[i,n,s,t]=e;else if(6===e.length)[i.login,i.passcode,n,s,t,i.host]=e;else[i.login,i.passcode,n,s,t]=e;return[i,n,s,t]}connect(...e){const t=this._parseConnect(...e);t[0]&&(this.connectHeaders=t[0]),t[1]&&(this.onConnect=t[1]),t[2]&&(this.onStompError=t[2]),t[3]&&(this.onWebSocketClose=t[3]),super.activate()}disconnect(e,t={}){e&&(this.onDisconnect=e),this.disconnectHeaders=t,super.deactivate()}send(e,t={},n=""){const s=!1===(t=Object.assign({},t))["content-length"];s&&delete t["content-length"],this.publish({destination:e,headers:t,body:n,skipContentLengthHeader:s})}set reconnect_delay(e){this.reconnectDelay=e}get ws(){return this.webSocket}get version(){return this.connectedVersion}get onreceive(){return this.onUnhandledMessage}set onreceive(e){this.onUnhandledMessage=e}get onreceipt(){return this.onUnhandledReceipt}set onreceipt(e){this.onUnhandledReceipt=e}get heartbeat(){return this._heartbeatInfo}set heartbeat(e){this.heartbeatIncoming=e.incoming,this.heartbeatOutgoing=e.outgoing}}class u{static client(e,t){null==t&&(t=d.default.protocolVersions());return new _((()=>new(u.WebSocketClass||WebSocket)(e,t)))}static over(e){let t;return"function"==typeof e?t=e:(console.warn("Stomp.over did not receive a factory, auto reconnect will not work. Please see https://stomp-js.github.io/api-docs/latest/classes/Stomp.html#over"),t=()=>e),new _(t)}}u.WebSocketClass=null,e.Client=m,e.CompatClient=_,e.FrameImpl=s,e.Parser=i,e.Stomp=u,e.StompConfig=class{},e.StompHeaders=class{},e.Versions=d}));
|