@wix/cli 1.1.63 → 1.1.65
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/build/{DevCommand-3ELW3L6N.js → DevCommand-AVJ663GA.js} +72 -40
- package/build/DevCommand-AVJ663GA.js.map +1 -0
- package/build/{DevCommand-VKO2WHGU.js → DevCommand-IHVIU2N4.js} +12 -12
- package/build/{LoginCommand-Y4STX5I4.js → LoginCommand-XQFHRT7W.js} +10 -10
- package/build/{LogoutCommand-IXNGVG5L.js → LogoutCommand-YY7MRKCM.js} +7 -7
- package/build/PreviewCommand-3OABJYJD.js +70 -0
- package/build/PreviewCommand-3OABJYJD.js.map +1 -0
- package/build/PublishCommand-ISZPYYXM.js +117 -0
- package/build/PublishCommand-ISZPYYXM.js.map +1 -0
- package/build/{WhoamiCommand-UJUYYBBU.js → WhoamiCommand-GWPNPHRL.js} +4 -4
- package/build/{chunk-2NWGTFAC.js → chunk-2K5KKUL3.js} +5 -3
- package/build/{chunk-2NWGTFAC.js.map → chunk-2K5KKUL3.js.map} +1 -1
- package/build/{chunk-RESBATTJ.js → chunk-3P5PTIBR.js} +2 -2
- package/build/{chunk-HU33E37I.js → chunk-4XPWCRGU.js} +276 -278
- package/build/{chunk-HU33E37I.js.map → chunk-4XPWCRGU.js.map} +1 -1
- package/build/{chunk-IVOZDAHR.js → chunk-5WRZJFXK.js} +5 -5
- package/build/{chunk-QKFGKDHU.js → chunk-AOWEDNOF.js} +348 -583
- package/build/chunk-AOWEDNOF.js.map +1 -0
- package/build/{chunk-EYBRAJ77.js → chunk-BCT5PAPG.js} +6 -6
- package/build/{chunk-3JTFUCV6.js → chunk-BEXERG7F.js} +48 -5
- package/build/chunk-BEXERG7F.js.map +1 -0
- package/build/{chunk-BGKFJNUK.js → chunk-CNXKF7E3.js} +16 -14
- package/build/chunk-CNXKF7E3.js.map +1 -0
- package/build/{chunk-QI3N3YSP.js → chunk-IC6K6CSD.js} +3 -3
- package/build/{chunk-3FASMGNL.js → chunk-JASQWANH.js} +3 -3
- package/build/{chunk-BRYY76CH.js → chunk-JKBX72QC.js} +4 -4
- package/build/{chunk-TOWDJ5TL.js → chunk-JXGBYZK7.js} +14 -17
- package/build/chunk-JXGBYZK7.js.map +1 -0
- package/build/{chunk-BTM6MXTF.js → chunk-KJCRO3PB.js} +5 -5
- package/build/{chunk-3WRRBP7H.js → chunk-KJXGVQP7.js} +7 -7
- package/build/{chunk-HNWUYQMU.js → chunk-N4L3XZI3.js} +4 -4
- package/build/{PreviewCommand-45QLRRAO.js → chunk-NXGJ6P6H.js} +67 -123
- package/build/chunk-NXGJ6P6H.js.map +1 -0
- package/build/{chunk-IFBC6MP5.js → chunk-PWEJ3IWM.js} +4 -2
- package/build/{chunk-IFBC6MP5.js.map → chunk-PWEJ3IWM.js.map} +1 -1
- package/build/{chunk-HIHMLMRD.js → chunk-QP2SHVU3.js} +2 -2
- package/build/{chunk-LR6CHFGP.js → chunk-QPYNVASM.js} +2 -2
- package/build/{chunk-WBF5ALFE.js → chunk-TIHCOJHY.js} +4 -4
- package/build/{chunk-R4KXK4HG.js → chunk-UHGVP5PT.js} +3 -3
- package/build/{chunk-XCXYK7C7.js → chunk-UK7CHIDM.js} +2 -2
- package/build/chunk-UQM2YHYJ.js +30 -0
- package/build/chunk-UQM2YHYJ.js.map +1 -0
- package/build/{chunk-JR2KZTME.js → chunk-YHMLI3NZ.js} +2 -2
- package/build/{chunk-WSW2V2ZB.js → chunk-YX66M2XN.js} +2 -2
- package/build/{chunk-UPXCPX6R.js → chunk-Z3MJ3WPQ.js} +11 -5
- package/build/{chunk-UPXCPX6R.js.map → chunk-Z3MJ3WPQ.js.map} +1 -1
- package/build/{chunk-FO4JMX7I.js → chunk-Z4TKBS7R.js} +4 -4
- package/build/{chunk-FO4JMX7I.js.map → chunk-Z4TKBS7R.js.map} +1 -1
- package/build/{chunk-SYSWGRNF.js → chunk-ZLPYLX6E.js} +27 -11
- package/build/{chunk-SYSWGRNF.js.map → chunk-ZLPYLX6E.js.map} +1 -1
- package/build/{chunk-DGB22FOE.js → chunk-ZM6OUS2J.js} +5 -5
- package/build/{dev-BEXFZPJS.js → dev-62KN3SLL.js} +26 -26
- package/build/dev-62KN3SLL.js.map +1 -0
- package/build/index.js +26 -26
- package/build/{install-KBEEKENQ.js → install-L6C6V6OD.js} +14 -14
- package/build/{preview-YOWBWDEY.js → preview-LDXRFIMB.js} +17 -17
- package/build/{publish-KH6HTTQW.js → publish-FNN2BROO.js} +19 -19
- package/build/{render-command-E74W4QNK.js → render-command-GLPKMOXW.js} +10 -10
- package/build/{render-command-4FI34WBA.js → render-command-IPDLSBIH.js} +9 -9
- package/build/{render-command-VY7HKWP4.js → render-command-RBG7263F.js} +11 -11
- package/build/{run-command-3FVZZEPI.js → run-command-DDRX6HA4.js} +6 -6
- package/build/{src-KVHMNIWM.js → src-5FM5LBPG.js} +34 -10
- package/build/src-5FM5LBPG.js.map +1 -0
- package/build/{src-XSN6C5L2.js → src-DFC4OJXU.js} +3 -3
- package/build/{src-JHDL6HRJ.js → src-NDQ3YSVS.js} +6 -6
- package/build/{src-U4W7RS6S.js → src-QDEPJEVY.js} +4 -4
- package/build/{src-ECBBCYB3.js → src-RLHCQYHW.js} +2 -2
- package/build/{src-QOI2D3S4.js → src-WZQSHEYJ.js} +7 -7
- package/build/{src-4XL5NTJS.js → src-YKFH53HG.js} +17 -17
- package/build/{sync-types-TMGYTVGL.js → sync-types-5QBTKL42.js} +12 -12
- package/build/{uninstall-KAFGDOR7.js → uninstall-X66KBPSO.js} +14 -14
- package/package.json +2 -2
- package/build/DevCommand-3ELW3L6N.js.map +0 -1
- package/build/PreviewCommand-45QLRRAO.js.map +0 -1
- package/build/chunk-3JTFUCV6.js.map +0 -1
- package/build/chunk-BGKFJNUK.js.map +0 -1
- package/build/chunk-QKFGKDHU.js.map +0 -1
- package/build/chunk-TOWDJ5TL.js.map +0 -1
- package/build/chunk-VXGNI7CP.js +0 -21
- package/build/chunk-VXGNI7CP.js.map +0 -1
- package/build/dev-BEXFZPJS.js.map +0 -1
- package/build/src-KVHMNIWM.js.map +0 -1
- /package/build/{DevCommand-VKO2WHGU.js.map → DevCommand-IHVIU2N4.js.map} +0 -0
- /package/build/{LoginCommand-Y4STX5I4.js.map → LoginCommand-XQFHRT7W.js.map} +0 -0
- /package/build/{LogoutCommand-IXNGVG5L.js.map → LogoutCommand-YY7MRKCM.js.map} +0 -0
- /package/build/{WhoamiCommand-UJUYYBBU.js.map → WhoamiCommand-GWPNPHRL.js.map} +0 -0
- /package/build/{chunk-RESBATTJ.js.map → chunk-3P5PTIBR.js.map} +0 -0
- /package/build/{chunk-IVOZDAHR.js.map → chunk-5WRZJFXK.js.map} +0 -0
- /package/build/{chunk-EYBRAJ77.js.map → chunk-BCT5PAPG.js.map} +0 -0
- /package/build/{chunk-QI3N3YSP.js.map → chunk-IC6K6CSD.js.map} +0 -0
- /package/build/{chunk-3FASMGNL.js.map → chunk-JASQWANH.js.map} +0 -0
- /package/build/{chunk-BRYY76CH.js.map → chunk-JKBX72QC.js.map} +0 -0
- /package/build/{chunk-BTM6MXTF.js.map → chunk-KJCRO3PB.js.map} +0 -0
- /package/build/{chunk-3WRRBP7H.js.map → chunk-KJXGVQP7.js.map} +0 -0
- /package/build/{chunk-HNWUYQMU.js.map → chunk-N4L3XZI3.js.map} +0 -0
- /package/build/{chunk-HIHMLMRD.js.map → chunk-QP2SHVU3.js.map} +0 -0
- /package/build/{chunk-LR6CHFGP.js.map → chunk-QPYNVASM.js.map} +0 -0
- /package/build/{chunk-WBF5ALFE.js.map → chunk-TIHCOJHY.js.map} +0 -0
- /package/build/{chunk-R4KXK4HG.js.map → chunk-UHGVP5PT.js.map} +0 -0
- /package/build/{chunk-XCXYK7C7.js.map → chunk-UK7CHIDM.js.map} +0 -0
- /package/build/{chunk-JR2KZTME.js.map → chunk-YHMLI3NZ.js.map} +0 -0
- /package/build/{chunk-WSW2V2ZB.js.map → chunk-YX66M2XN.js.map} +0 -0
- /package/build/{chunk-DGB22FOE.js.map → chunk-ZM6OUS2J.js.map} +0 -0
- /package/build/{install-KBEEKENQ.js.map → install-L6C6V6OD.js.map} +0 -0
- /package/build/{preview-YOWBWDEY.js.map → preview-LDXRFIMB.js.map} +0 -0
- /package/build/{publish-KH6HTTQW.js.map → publish-FNN2BROO.js.map} +0 -0
- /package/build/{render-command-E74W4QNK.js.map → render-command-GLPKMOXW.js.map} +0 -0
- /package/build/{render-command-4FI34WBA.js.map → render-command-IPDLSBIH.js.map} +0 -0
- /package/build/{render-command-VY7HKWP4.js.map → render-command-RBG7263F.js.map} +0 -0
- /package/build/{run-command-3FVZZEPI.js.map → run-command-DDRX6HA4.js.map} +0 -0
- /package/build/{src-ECBBCYB3.js.map → src-DFC4OJXU.js.map} +0 -0
- /package/build/{src-JHDL6HRJ.js.map → src-NDQ3YSVS.js.map} +0 -0
- /package/build/{src-QOI2D3S4.js.map → src-QDEPJEVY.js.map} +0 -0
- /package/build/{src-U4W7RS6S.js.map → src-RLHCQYHW.js.map} +0 -0
- /package/build/{src-XSN6C5L2.js.map → src-WZQSHEYJ.js.map} +0 -0
- /package/build/{src-4XL5NTJS.js.map → src-YKFH53HG.js.map} +0 -0
- /package/build/{sync-types-TMGYTVGL.js.map → sync-types-5QBTKL42.js.map} +0 -0
- /package/build/{uninstall-KAFGDOR7.js.map → uninstall-X66KBPSO.js.map} +0 -0
|
@@ -5,7 +5,7 @@ import {
|
|
|
5
5
|
} from "./chunk-EDFOB3LN.js";
|
|
6
6
|
import {
|
|
7
7
|
require_negotiator
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-TIHCOJHY.js";
|
|
9
9
|
import {
|
|
10
10
|
require_ms
|
|
11
11
|
} from "./chunk-WN3D6AOY.js";
|
|
@@ -10221,17 +10221,15 @@ var require_transport = __commonJS({
|
|
|
10221
10221
|
/**
|
|
10222
10222
|
* Transport constructor.
|
|
10223
10223
|
*
|
|
10224
|
-
* @param {http.IncomingMessage}
|
|
10224
|
+
* @param {http.IncomingMessage} request
|
|
10225
10225
|
* @api public
|
|
10226
10226
|
*/
|
|
10227
10227
|
constructor(req) {
|
|
10228
10228
|
super();
|
|
10229
|
-
this.
|
|
10230
|
-
this._readyState = "open";
|
|
10229
|
+
this.readyState = "open";
|
|
10231
10230
|
this.discarded = false;
|
|
10232
10231
|
this.protocol = req._query.EIO === "4" ? 4 : 3;
|
|
10233
10232
|
this.parser = this.protocol === 4 ? parser_v4 : parser_v3;
|
|
10234
|
-
this.supportsBinary = !(req._query && req._query.b64);
|
|
10235
10233
|
}
|
|
10236
10234
|
get readyState() {
|
|
10237
10235
|
return this._readyState;
|
|
@@ -10251,7 +10249,7 @@ var require_transport = __commonJS({
|
|
|
10251
10249
|
/**
|
|
10252
10250
|
* Called with an incoming HTTP request.
|
|
10253
10251
|
*
|
|
10254
|
-
* @param {http.IncomingMessage}
|
|
10252
|
+
* @param {http.IncomingMessage} request
|
|
10255
10253
|
* @api protected
|
|
10256
10254
|
*/
|
|
10257
10255
|
onRequest(req) {
|
|
@@ -10272,8 +10270,8 @@ var require_transport = __commonJS({
|
|
|
10272
10270
|
/**
|
|
10273
10271
|
* Called with a transport error.
|
|
10274
10272
|
*
|
|
10275
|
-
* @param {String}
|
|
10276
|
-
* @param {Object}
|
|
10273
|
+
* @param {String} message error
|
|
10274
|
+
* @param {Object} error description
|
|
10277
10275
|
* @api protected
|
|
10278
10276
|
*/
|
|
10279
10277
|
onError(msg, desc) {
|
|
@@ -10363,7 +10361,6 @@ var require_polling = __commonJS({
|
|
|
10363
10361
|
*/
|
|
10364
10362
|
onRequest(req) {
|
|
10365
10363
|
const res = req.res;
|
|
10366
|
-
req.res = null;
|
|
10367
10364
|
if ("GET" === req.method) {
|
|
10368
10365
|
this.onPollRequest(req, res);
|
|
10369
10366
|
} else if ("POST" === req.method) {
|
|
@@ -10639,7 +10636,6 @@ var require_polling = __commonJS({
|
|
|
10639
10636
|
if (ua && (~ua.indexOf(";MSIE") || ~ua.indexOf("Trident/"))) {
|
|
10640
10637
|
headers["X-XSS-Protection"] = "0";
|
|
10641
10638
|
}
|
|
10642
|
-
headers["cache-control"] = "no-store";
|
|
10643
10639
|
this.emit("headers", headers, req);
|
|
10644
10640
|
return headers;
|
|
10645
10641
|
}
|
|
@@ -10836,9 +10832,7 @@ var require_webtransport = __commonJS({
|
|
|
10836
10832
|
super({ _query: { EIO: "4" } });
|
|
10837
10833
|
this.session = session;
|
|
10838
10834
|
const transformStream = (0, engine_io_parser_1.createPacketEncoderStream)();
|
|
10839
|
-
transformStream.readable.pipeTo(stream.writable)
|
|
10840
|
-
debug11("the stream was closed");
|
|
10841
|
-
});
|
|
10835
|
+
transformStream.readable.pipeTo(stream.writable);
|
|
10842
10836
|
this.writer = transformStream.writable.getWriter();
|
|
10843
10837
|
(async () => {
|
|
10844
10838
|
try {
|
|
@@ -10932,15 +10926,15 @@ var require_socket = __commonJS({
|
|
|
10932
10926
|
*/
|
|
10933
10927
|
constructor(id, server, transport, req, protocol4) {
|
|
10934
10928
|
super();
|
|
10935
|
-
this.
|
|
10929
|
+
this.id = id;
|
|
10930
|
+
this.server = server;
|
|
10936
10931
|
this.upgrading = false;
|
|
10937
10932
|
this.upgraded = false;
|
|
10933
|
+
this.readyState = "opening";
|
|
10938
10934
|
this.writeBuffer = [];
|
|
10939
10935
|
this.packetsFn = [];
|
|
10940
10936
|
this.sentCallbackFn = [];
|
|
10941
10937
|
this.cleanupFn = [];
|
|
10942
|
-
this.id = id;
|
|
10943
|
-
this.server = server;
|
|
10944
10938
|
this.request = req;
|
|
10945
10939
|
this.protocol = protocol4;
|
|
10946
10940
|
if (req) {
|
|
@@ -10951,6 +10945,8 @@ var require_socket = __commonJS({
|
|
|
10951
10945
|
}
|
|
10952
10946
|
} else {
|
|
10953
10947
|
}
|
|
10948
|
+
this.checkIntervalTimer = null;
|
|
10949
|
+
this.upgradeTimeoutTimer = null;
|
|
10954
10950
|
this.pingTimeoutTimer = null;
|
|
10955
10951
|
this.pingIntervalTimer = null;
|
|
10956
10952
|
this.setTransport(transport);
|
|
@@ -11032,7 +11028,7 @@ var require_socket = __commonJS({
|
|
|
11032
11028
|
/**
|
|
11033
11029
|
* Called upon transport error.
|
|
11034
11030
|
*
|
|
11035
|
-
* @param {Error}
|
|
11031
|
+
* @param {Error} error object
|
|
11036
11032
|
* @api private
|
|
11037
11033
|
*/
|
|
11038
11034
|
onError(err) {
|
|
@@ -11098,21 +11094,20 @@ var require_socket = __commonJS({
|
|
|
11098
11094
|
maybeUpgrade(transport) {
|
|
11099
11095
|
debug11('might upgrade socket transport from "%s" to "%s"', this.transport.name, transport.name);
|
|
11100
11096
|
this.upgrading = true;
|
|
11101
|
-
|
|
11097
|
+
this.upgradeTimeoutTimer = (0, timers_1.setTimeout)(() => {
|
|
11102
11098
|
debug11("client did not complete upgrade - closing transport");
|
|
11103
11099
|
cleanup();
|
|
11104
11100
|
if ("open" === transport.readyState) {
|
|
11105
11101
|
transport.close();
|
|
11106
11102
|
}
|
|
11107
11103
|
}, this.server.opts.upgradeTimeout);
|
|
11108
|
-
let checkIntervalTimer;
|
|
11109
11104
|
const onPacket = (packet) => {
|
|
11110
11105
|
if ("ping" === packet.type && "probe" === packet.data) {
|
|
11111
11106
|
debug11("got probe ping packet, sending pong");
|
|
11112
11107
|
transport.send([{ type: "pong", data: "probe" }]);
|
|
11113
11108
|
this.emit("upgrading", transport);
|
|
11114
|
-
clearInterval(checkIntervalTimer);
|
|
11115
|
-
checkIntervalTimer = setInterval(check, 100);
|
|
11109
|
+
clearInterval(this.checkIntervalTimer);
|
|
11110
|
+
this.checkIntervalTimer = setInterval(check, 100);
|
|
11116
11111
|
} else if ("upgrade" === packet.type && this.readyState !== "closed") {
|
|
11117
11112
|
debug11("got upgrade packet - upgrading");
|
|
11118
11113
|
cleanup();
|
|
@@ -11140,8 +11135,10 @@ var require_socket = __commonJS({
|
|
|
11140
11135
|
};
|
|
11141
11136
|
const cleanup = () => {
|
|
11142
11137
|
this.upgrading = false;
|
|
11143
|
-
clearInterval(checkIntervalTimer);
|
|
11144
|
-
|
|
11138
|
+
clearInterval(this.checkIntervalTimer);
|
|
11139
|
+
this.checkIntervalTimer = null;
|
|
11140
|
+
(0, timers_1.clearTimeout)(this.upgradeTimeoutTimer);
|
|
11141
|
+
this.upgradeTimeoutTimer = null;
|
|
11145
11142
|
transport.removeListener("packet", onPacket);
|
|
11146
11143
|
transport.removeListener("close", onTransportClose);
|
|
11147
11144
|
transport.removeListener("error", onError);
|
|
@@ -11192,6 +11189,9 @@ var require_socket = __commonJS({
|
|
|
11192
11189
|
this.readyState = "closed";
|
|
11193
11190
|
(0, timers_1.clearTimeout)(this.pingIntervalTimer);
|
|
11194
11191
|
(0, timers_1.clearTimeout)(this.pingTimeoutTimer);
|
|
11192
|
+
clearInterval(this.checkIntervalTimer);
|
|
11193
|
+
this.checkIntervalTimer = null;
|
|
11194
|
+
(0, timers_1.clearTimeout)(this.upgradeTimeoutTimer);
|
|
11195
11195
|
process.nextTick(() => {
|
|
11196
11196
|
this.writeBuffer = [];
|
|
11197
11197
|
});
|
|
@@ -11501,7 +11501,6 @@ var require_buffer_util = __commonJS({
|
|
|
11501
11501
|
"use strict";
|
|
11502
11502
|
init_esm_shims();
|
|
11503
11503
|
var { EMPTY_BUFFER } = require_constants();
|
|
11504
|
-
var FastBuffer = Buffer[Symbol.species];
|
|
11505
11504
|
function concat(list, totalLength2) {
|
|
11506
11505
|
if (list.length === 0) return EMPTY_BUFFER;
|
|
11507
11506
|
if (list.length === 1) return list[0];
|
|
@@ -11512,9 +11511,7 @@ var require_buffer_util = __commonJS({
|
|
|
11512
11511
|
target.set(buf, offset);
|
|
11513
11512
|
offset += buf.length;
|
|
11514
11513
|
}
|
|
11515
|
-
if (offset < totalLength2)
|
|
11516
|
-
return new FastBuffer(target.buffer, target.byteOffset, offset);
|
|
11517
|
-
}
|
|
11514
|
+
if (offset < totalLength2) return target.slice(0, offset);
|
|
11518
11515
|
return target;
|
|
11519
11516
|
}
|
|
11520
11517
|
function _mask(source, mask, output, offset, length2) {
|
|
@@ -11528,19 +11525,19 @@ var require_buffer_util = __commonJS({
|
|
|
11528
11525
|
}
|
|
11529
11526
|
}
|
|
11530
11527
|
function toArrayBuffer(buf) {
|
|
11531
|
-
if (buf.
|
|
11528
|
+
if (buf.byteLength === buf.buffer.byteLength) {
|
|
11532
11529
|
return buf.buffer;
|
|
11533
11530
|
}
|
|
11534
|
-
return buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.
|
|
11531
|
+
return buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength);
|
|
11535
11532
|
}
|
|
11536
11533
|
function toBuffer2(data) {
|
|
11537
11534
|
toBuffer2.readOnly = true;
|
|
11538
11535
|
if (Buffer.isBuffer(data)) return data;
|
|
11539
11536
|
let buf;
|
|
11540
11537
|
if (data instanceof ArrayBuffer) {
|
|
11541
|
-
buf =
|
|
11538
|
+
buf = Buffer.from(data);
|
|
11542
11539
|
} else if (ArrayBuffer.isView(data)) {
|
|
11543
|
-
buf =
|
|
11540
|
+
buf = Buffer.from(data.buffer, data.byteOffset, data.byteLength);
|
|
11544
11541
|
} else {
|
|
11545
11542
|
buf = Buffer.from(data);
|
|
11546
11543
|
toBuffer2.readOnly = false;
|
|
@@ -11631,7 +11628,6 @@ var require_permessage_deflate = __commonJS({
|
|
|
11631
11628
|
var bufferUtil = require_buffer_util();
|
|
11632
11629
|
var Limiter = require_limiter();
|
|
11633
11630
|
var { kStatusCode } = require_constants();
|
|
11634
|
-
var FastBuffer = Buffer[Symbol.species];
|
|
11635
11631
|
var TRAILER = Buffer.from([0, 0, 255, 255]);
|
|
11636
11632
|
var kPerMessageDeflate = Symbol("permessage-deflate");
|
|
11637
11633
|
var kTotalLength = Symbol("total-length");
|
|
@@ -11964,9 +11960,7 @@ var require_permessage_deflate = __commonJS({
|
|
|
11964
11960
|
this._deflate[kBuffers],
|
|
11965
11961
|
this._deflate[kTotalLength]
|
|
11966
11962
|
);
|
|
11967
|
-
if (fin)
|
|
11968
|
-
data2 = new FastBuffer(data2.buffer, data2.byteOffset, data2.length - 4);
|
|
11969
|
-
}
|
|
11963
|
+
if (fin) data2 = data2.slice(0, data2.length - 4);
|
|
11970
11964
|
this._deflate[kCallback] = null;
|
|
11971
11965
|
this._deflate[kTotalLength] = 0;
|
|
11972
11966
|
this._deflate[kBuffers] = [];
|
|
@@ -12007,7 +12001,6 @@ var require_validation = __commonJS({
|
|
|
12007
12001
|
"../../node_modules/engine.io/node_modules/ws/lib/validation.js"(exports, module) {
|
|
12008
12002
|
"use strict";
|
|
12009
12003
|
init_esm_shims();
|
|
12010
|
-
var { isUtf8 } = __require("buffer");
|
|
12011
12004
|
var tokenChars = [
|
|
12012
12005
|
0,
|
|
12013
12006
|
0,
|
|
@@ -12183,15 +12176,11 @@ var require_validation = __commonJS({
|
|
|
12183
12176
|
isValidUTF8: _isValidUTF8,
|
|
12184
12177
|
tokenChars
|
|
12185
12178
|
};
|
|
12186
|
-
if (
|
|
12187
|
-
module.exports.isValidUTF8 = function(buf) {
|
|
12188
|
-
return buf.length < 24 ? _isValidUTF8(buf) : isUtf8(buf);
|
|
12189
|
-
};
|
|
12190
|
-
} else if (!process.env.WS_NO_UTF_8_VALIDATE) {
|
|
12179
|
+
if (!process.env.WS_NO_UTF_8_VALIDATE) {
|
|
12191
12180
|
try {
|
|
12192
12181
|
const isValidUTF8 = __require("utf-8-validate");
|
|
12193
12182
|
module.exports.isValidUTF8 = function(buf) {
|
|
12194
|
-
return buf.length <
|
|
12183
|
+
return buf.length < 150 ? _isValidUTF8(buf) : isValidUTF8(buf);
|
|
12195
12184
|
};
|
|
12196
12185
|
} catch (e) {
|
|
12197
12186
|
}
|
|
@@ -12214,22 +12203,17 @@ var require_receiver = __commonJS({
|
|
|
12214
12203
|
} = require_constants();
|
|
12215
12204
|
var { concat, toArrayBuffer, unmask } = require_buffer_util();
|
|
12216
12205
|
var { isValidStatusCode, isValidUTF8 } = require_validation();
|
|
12217
|
-
var FastBuffer = Buffer[Symbol.species];
|
|
12218
12206
|
var GET_INFO = 0;
|
|
12219
12207
|
var GET_PAYLOAD_LENGTH_16 = 1;
|
|
12220
12208
|
var GET_PAYLOAD_LENGTH_64 = 2;
|
|
12221
12209
|
var GET_MASK = 3;
|
|
12222
12210
|
var GET_DATA = 4;
|
|
12223
12211
|
var INFLATING = 5;
|
|
12224
|
-
var DEFER_EVENT = 6;
|
|
12225
12212
|
var Receiver2 = class extends Writable {
|
|
12226
12213
|
/**
|
|
12227
12214
|
* Creates a Receiver instance.
|
|
12228
12215
|
*
|
|
12229
12216
|
* @param {Object} [options] Options object
|
|
12230
|
-
* @param {Boolean} [options.allowSynchronousEvents=true] Specifies whether
|
|
12231
|
-
* any of the `'message'`, `'ping'`, and `'pong'` events can be emitted
|
|
12232
|
-
* multiple times in the same tick
|
|
12233
12217
|
* @param {String} [options.binaryType=nodebuffer] The type for binary data
|
|
12234
12218
|
* @param {Object} [options.extensions] An object containing the negotiated
|
|
12235
12219
|
* extensions
|
|
@@ -12241,7 +12225,6 @@ var require_receiver = __commonJS({
|
|
|
12241
12225
|
*/
|
|
12242
12226
|
constructor(options = {}) {
|
|
12243
12227
|
super();
|
|
12244
|
-
this._allowSynchronousEvents = options.allowSynchronousEvents !== void 0 ? options.allowSynchronousEvents : true;
|
|
12245
12228
|
this._binaryType = options.binaryType || BINARY_TYPES[0];
|
|
12246
12229
|
this._extensions = options.extensions || {};
|
|
12247
12230
|
this._isServer = !!options.isServer;
|
|
@@ -12260,9 +12243,8 @@ var require_receiver = __commonJS({
|
|
|
12260
12243
|
this._totalPayloadLength = 0;
|
|
12261
12244
|
this._messageLength = 0;
|
|
12262
12245
|
this._fragments = [];
|
|
12263
|
-
this._errored = false;
|
|
12264
|
-
this._loop = false;
|
|
12265
12246
|
this._state = GET_INFO;
|
|
12247
|
+
this._loop = false;
|
|
12266
12248
|
}
|
|
12267
12249
|
/**
|
|
12268
12250
|
* Implements `Writable.prototype._write()`.
|
|
@@ -12290,12 +12272,8 @@ var require_receiver = __commonJS({
|
|
|
12290
12272
|
if (n === this._buffers[0].length) return this._buffers.shift();
|
|
12291
12273
|
if (n < this._buffers[0].length) {
|
|
12292
12274
|
const buf = this._buffers[0];
|
|
12293
|
-
this._buffers[0] =
|
|
12294
|
-
|
|
12295
|
-
buf.byteOffset + n,
|
|
12296
|
-
buf.length - n
|
|
12297
|
-
);
|
|
12298
|
-
return new FastBuffer(buf.buffer, buf.byteOffset, n);
|
|
12275
|
+
this._buffers[0] = buf.slice(n);
|
|
12276
|
+
return buf.slice(0, n);
|
|
12299
12277
|
}
|
|
12300
12278
|
const dst = Buffer.allocUnsafe(n);
|
|
12301
12279
|
do {
|
|
@@ -12305,11 +12283,7 @@ var require_receiver = __commonJS({
|
|
|
12305
12283
|
dst.set(this._buffers.shift(), offset);
|
|
12306
12284
|
} else {
|
|
12307
12285
|
dst.set(new Uint8Array(buf.buffer, buf.byteOffset, n), offset);
|
|
12308
|
-
this._buffers[0] =
|
|
12309
|
-
buf.buffer,
|
|
12310
|
-
buf.byteOffset + n,
|
|
12311
|
-
buf.length - n
|
|
12312
|
-
);
|
|
12286
|
+
this._buffers[0] = buf.slice(n);
|
|
12313
12287
|
}
|
|
12314
12288
|
n -= buf.length;
|
|
12315
12289
|
} while (n > 0);
|
|
@@ -12322,202 +12296,191 @@ var require_receiver = __commonJS({
|
|
|
12322
12296
|
* @private
|
|
12323
12297
|
*/
|
|
12324
12298
|
startLoop(cb) {
|
|
12299
|
+
let err;
|
|
12325
12300
|
this._loop = true;
|
|
12326
12301
|
do {
|
|
12327
12302
|
switch (this._state) {
|
|
12328
12303
|
case GET_INFO:
|
|
12329
|
-
this.getInfo(
|
|
12304
|
+
err = this.getInfo();
|
|
12330
12305
|
break;
|
|
12331
12306
|
case GET_PAYLOAD_LENGTH_16:
|
|
12332
|
-
this.getPayloadLength16(
|
|
12307
|
+
err = this.getPayloadLength16();
|
|
12333
12308
|
break;
|
|
12334
12309
|
case GET_PAYLOAD_LENGTH_64:
|
|
12335
|
-
this.getPayloadLength64(
|
|
12310
|
+
err = this.getPayloadLength64();
|
|
12336
12311
|
break;
|
|
12337
12312
|
case GET_MASK:
|
|
12338
12313
|
this.getMask();
|
|
12339
12314
|
break;
|
|
12340
12315
|
case GET_DATA:
|
|
12341
|
-
this.getData(cb);
|
|
12316
|
+
err = this.getData(cb);
|
|
12342
12317
|
break;
|
|
12343
|
-
|
|
12344
|
-
case DEFER_EVENT:
|
|
12318
|
+
default:
|
|
12345
12319
|
this._loop = false;
|
|
12346
12320
|
return;
|
|
12347
12321
|
}
|
|
12348
12322
|
} while (this._loop);
|
|
12349
|
-
|
|
12323
|
+
cb(err);
|
|
12350
12324
|
}
|
|
12351
12325
|
/**
|
|
12352
12326
|
* Reads the first two bytes of a frame.
|
|
12353
12327
|
*
|
|
12354
|
-
* @
|
|
12328
|
+
* @return {(RangeError|undefined)} A possible error
|
|
12355
12329
|
* @private
|
|
12356
12330
|
*/
|
|
12357
|
-
getInfo(
|
|
12331
|
+
getInfo() {
|
|
12358
12332
|
if (this._bufferedBytes < 2) {
|
|
12359
12333
|
this._loop = false;
|
|
12360
12334
|
return;
|
|
12361
12335
|
}
|
|
12362
12336
|
const buf = this.consume(2);
|
|
12363
12337
|
if ((buf[0] & 48) !== 0) {
|
|
12364
|
-
|
|
12338
|
+
this._loop = false;
|
|
12339
|
+
return error(
|
|
12365
12340
|
RangeError,
|
|
12366
12341
|
"RSV2 and RSV3 must be clear",
|
|
12367
12342
|
true,
|
|
12368
12343
|
1002,
|
|
12369
12344
|
"WS_ERR_UNEXPECTED_RSV_2_3"
|
|
12370
12345
|
);
|
|
12371
|
-
cb(error);
|
|
12372
|
-
return;
|
|
12373
12346
|
}
|
|
12374
12347
|
const compressed = (buf[0] & 64) === 64;
|
|
12375
12348
|
if (compressed && !this._extensions[PerMessageDeflate.extensionName]) {
|
|
12376
|
-
|
|
12349
|
+
this._loop = false;
|
|
12350
|
+
return error(
|
|
12377
12351
|
RangeError,
|
|
12378
12352
|
"RSV1 must be clear",
|
|
12379
12353
|
true,
|
|
12380
12354
|
1002,
|
|
12381
12355
|
"WS_ERR_UNEXPECTED_RSV_1"
|
|
12382
12356
|
);
|
|
12383
|
-
cb(error);
|
|
12384
|
-
return;
|
|
12385
12357
|
}
|
|
12386
12358
|
this._fin = (buf[0] & 128) === 128;
|
|
12387
12359
|
this._opcode = buf[0] & 15;
|
|
12388
12360
|
this._payloadLength = buf[1] & 127;
|
|
12389
12361
|
if (this._opcode === 0) {
|
|
12390
12362
|
if (compressed) {
|
|
12391
|
-
|
|
12363
|
+
this._loop = false;
|
|
12364
|
+
return error(
|
|
12392
12365
|
RangeError,
|
|
12393
12366
|
"RSV1 must be clear",
|
|
12394
12367
|
true,
|
|
12395
12368
|
1002,
|
|
12396
12369
|
"WS_ERR_UNEXPECTED_RSV_1"
|
|
12397
12370
|
);
|
|
12398
|
-
cb(error);
|
|
12399
|
-
return;
|
|
12400
12371
|
}
|
|
12401
12372
|
if (!this._fragmented) {
|
|
12402
|
-
|
|
12373
|
+
this._loop = false;
|
|
12374
|
+
return error(
|
|
12403
12375
|
RangeError,
|
|
12404
12376
|
"invalid opcode 0",
|
|
12405
12377
|
true,
|
|
12406
12378
|
1002,
|
|
12407
12379
|
"WS_ERR_INVALID_OPCODE"
|
|
12408
12380
|
);
|
|
12409
|
-
cb(error);
|
|
12410
|
-
return;
|
|
12411
12381
|
}
|
|
12412
12382
|
this._opcode = this._fragmented;
|
|
12413
12383
|
} else if (this._opcode === 1 || this._opcode === 2) {
|
|
12414
12384
|
if (this._fragmented) {
|
|
12415
|
-
|
|
12385
|
+
this._loop = false;
|
|
12386
|
+
return error(
|
|
12416
12387
|
RangeError,
|
|
12417
12388
|
`invalid opcode ${this._opcode}`,
|
|
12418
12389
|
true,
|
|
12419
12390
|
1002,
|
|
12420
12391
|
"WS_ERR_INVALID_OPCODE"
|
|
12421
12392
|
);
|
|
12422
|
-
cb(error);
|
|
12423
|
-
return;
|
|
12424
12393
|
}
|
|
12425
12394
|
this._compressed = compressed;
|
|
12426
12395
|
} else if (this._opcode > 7 && this._opcode < 11) {
|
|
12427
12396
|
if (!this._fin) {
|
|
12428
|
-
|
|
12397
|
+
this._loop = false;
|
|
12398
|
+
return error(
|
|
12429
12399
|
RangeError,
|
|
12430
12400
|
"FIN must be set",
|
|
12431
12401
|
true,
|
|
12432
12402
|
1002,
|
|
12433
12403
|
"WS_ERR_EXPECTED_FIN"
|
|
12434
12404
|
);
|
|
12435
|
-
cb(error);
|
|
12436
|
-
return;
|
|
12437
12405
|
}
|
|
12438
12406
|
if (compressed) {
|
|
12439
|
-
|
|
12407
|
+
this._loop = false;
|
|
12408
|
+
return error(
|
|
12440
12409
|
RangeError,
|
|
12441
12410
|
"RSV1 must be clear",
|
|
12442
12411
|
true,
|
|
12443
12412
|
1002,
|
|
12444
12413
|
"WS_ERR_UNEXPECTED_RSV_1"
|
|
12445
12414
|
);
|
|
12446
|
-
cb(error);
|
|
12447
|
-
return;
|
|
12448
12415
|
}
|
|
12449
|
-
if (this._payloadLength > 125
|
|
12450
|
-
|
|
12416
|
+
if (this._payloadLength > 125) {
|
|
12417
|
+
this._loop = false;
|
|
12418
|
+
return error(
|
|
12451
12419
|
RangeError,
|
|
12452
12420
|
`invalid payload length ${this._payloadLength}`,
|
|
12453
12421
|
true,
|
|
12454
12422
|
1002,
|
|
12455
12423
|
"WS_ERR_INVALID_CONTROL_PAYLOAD_LENGTH"
|
|
12456
12424
|
);
|
|
12457
|
-
cb(error);
|
|
12458
|
-
return;
|
|
12459
12425
|
}
|
|
12460
12426
|
} else {
|
|
12461
|
-
|
|
12427
|
+
this._loop = false;
|
|
12428
|
+
return error(
|
|
12462
12429
|
RangeError,
|
|
12463
12430
|
`invalid opcode ${this._opcode}`,
|
|
12464
12431
|
true,
|
|
12465
12432
|
1002,
|
|
12466
12433
|
"WS_ERR_INVALID_OPCODE"
|
|
12467
12434
|
);
|
|
12468
|
-
cb(error);
|
|
12469
|
-
return;
|
|
12470
12435
|
}
|
|
12471
12436
|
if (!this._fin && !this._fragmented) this._fragmented = this._opcode;
|
|
12472
12437
|
this._masked = (buf[1] & 128) === 128;
|
|
12473
12438
|
if (this._isServer) {
|
|
12474
12439
|
if (!this._masked) {
|
|
12475
|
-
|
|
12440
|
+
this._loop = false;
|
|
12441
|
+
return error(
|
|
12476
12442
|
RangeError,
|
|
12477
12443
|
"MASK must be set",
|
|
12478
12444
|
true,
|
|
12479
12445
|
1002,
|
|
12480
12446
|
"WS_ERR_EXPECTED_MASK"
|
|
12481
12447
|
);
|
|
12482
|
-
cb(error);
|
|
12483
|
-
return;
|
|
12484
12448
|
}
|
|
12485
12449
|
} else if (this._masked) {
|
|
12486
|
-
|
|
12450
|
+
this._loop = false;
|
|
12451
|
+
return error(
|
|
12487
12452
|
RangeError,
|
|
12488
12453
|
"MASK must be clear",
|
|
12489
12454
|
true,
|
|
12490
12455
|
1002,
|
|
12491
12456
|
"WS_ERR_UNEXPECTED_MASK"
|
|
12492
12457
|
);
|
|
12493
|
-
cb(error);
|
|
12494
|
-
return;
|
|
12495
12458
|
}
|
|
12496
12459
|
if (this._payloadLength === 126) this._state = GET_PAYLOAD_LENGTH_16;
|
|
12497
12460
|
else if (this._payloadLength === 127) this._state = GET_PAYLOAD_LENGTH_64;
|
|
12498
|
-
else this.haveLength(
|
|
12461
|
+
else return this.haveLength();
|
|
12499
12462
|
}
|
|
12500
12463
|
/**
|
|
12501
12464
|
* Gets extended payload length (7+16).
|
|
12502
12465
|
*
|
|
12503
|
-
* @
|
|
12466
|
+
* @return {(RangeError|undefined)} A possible error
|
|
12504
12467
|
* @private
|
|
12505
12468
|
*/
|
|
12506
|
-
getPayloadLength16(
|
|
12469
|
+
getPayloadLength16() {
|
|
12507
12470
|
if (this._bufferedBytes < 2) {
|
|
12508
12471
|
this._loop = false;
|
|
12509
12472
|
return;
|
|
12510
12473
|
}
|
|
12511
12474
|
this._payloadLength = this.consume(2).readUInt16BE(0);
|
|
12512
|
-
this.haveLength(
|
|
12475
|
+
return this.haveLength();
|
|
12513
12476
|
}
|
|
12514
12477
|
/**
|
|
12515
12478
|
* Gets extended payload length (7+64).
|
|
12516
12479
|
*
|
|
12517
|
-
* @
|
|
12480
|
+
* @return {(RangeError|undefined)} A possible error
|
|
12518
12481
|
* @private
|
|
12519
12482
|
*/
|
|
12520
|
-
getPayloadLength64(
|
|
12483
|
+
getPayloadLength64() {
|
|
12521
12484
|
if (this._bufferedBytes < 8) {
|
|
12522
12485
|
this._loop = false;
|
|
12523
12486
|
return;
|
|
@@ -12525,38 +12488,36 @@ var require_receiver = __commonJS({
|
|
|
12525
12488
|
const buf = this.consume(8);
|
|
12526
12489
|
const num = buf.readUInt32BE(0);
|
|
12527
12490
|
if (num > Math.pow(2, 53 - 32) - 1) {
|
|
12528
|
-
|
|
12491
|
+
this._loop = false;
|
|
12492
|
+
return error(
|
|
12529
12493
|
RangeError,
|
|
12530
12494
|
"Unsupported WebSocket frame: payload length > 2^53 - 1",
|
|
12531
12495
|
false,
|
|
12532
12496
|
1009,
|
|
12533
12497
|
"WS_ERR_UNSUPPORTED_DATA_PAYLOAD_LENGTH"
|
|
12534
12498
|
);
|
|
12535
|
-
cb(error);
|
|
12536
|
-
return;
|
|
12537
12499
|
}
|
|
12538
12500
|
this._payloadLength = num * Math.pow(2, 32) + buf.readUInt32BE(4);
|
|
12539
|
-
this.haveLength(
|
|
12501
|
+
return this.haveLength();
|
|
12540
12502
|
}
|
|
12541
12503
|
/**
|
|
12542
12504
|
* Payload length has been read.
|
|
12543
12505
|
*
|
|
12544
|
-
* @
|
|
12506
|
+
* @return {(RangeError|undefined)} A possible error
|
|
12545
12507
|
* @private
|
|
12546
12508
|
*/
|
|
12547
|
-
haveLength(
|
|
12509
|
+
haveLength() {
|
|
12548
12510
|
if (this._payloadLength && this._opcode < 8) {
|
|
12549
12511
|
this._totalPayloadLength += this._payloadLength;
|
|
12550
12512
|
if (this._totalPayloadLength > this._maxPayload && this._maxPayload > 0) {
|
|
12551
|
-
|
|
12513
|
+
this._loop = false;
|
|
12514
|
+
return error(
|
|
12552
12515
|
RangeError,
|
|
12553
12516
|
"Max payload size exceeded",
|
|
12554
12517
|
false,
|
|
12555
12518
|
1009,
|
|
12556
12519
|
"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH"
|
|
12557
12520
|
);
|
|
12558
|
-
cb(error);
|
|
12559
|
-
return;
|
|
12560
12521
|
}
|
|
12561
12522
|
}
|
|
12562
12523
|
if (this._masked) this._state = GET_MASK;
|
|
@@ -12579,6 +12540,7 @@ var require_receiver = __commonJS({
|
|
|
12579
12540
|
* Reads data bytes.
|
|
12580
12541
|
*
|
|
12581
12542
|
* @param {Function} cb Callback
|
|
12543
|
+
* @return {(Error|RangeError|undefined)} A possible error
|
|
12582
12544
|
* @private
|
|
12583
12545
|
*/
|
|
12584
12546
|
getData(cb) {
|
|
@@ -12593,10 +12555,7 @@ var require_receiver = __commonJS({
|
|
|
12593
12555
|
unmask(data, this._mask);
|
|
12594
12556
|
}
|
|
12595
12557
|
}
|
|
12596
|
-
if (this._opcode > 7)
|
|
12597
|
-
this.controlMessage(data, cb);
|
|
12598
|
-
return;
|
|
12599
|
-
}
|
|
12558
|
+
if (this._opcode > 7) return this.controlMessage(data);
|
|
12600
12559
|
if (this._compressed) {
|
|
12601
12560
|
this._state = INFLATING;
|
|
12602
12561
|
this.decompress(data, cb);
|
|
@@ -12606,7 +12565,7 @@ var require_receiver = __commonJS({
|
|
|
12606
12565
|
this._messageLength = this._totalPayloadLength;
|
|
12607
12566
|
this._fragments.push(data);
|
|
12608
12567
|
}
|
|
12609
|
-
this.dataMessage(
|
|
12568
|
+
return this.dataMessage();
|
|
12610
12569
|
}
|
|
12611
12570
|
/**
|
|
12612
12571
|
* Decompresses data.
|
|
@@ -12622,84 +12581,63 @@ var require_receiver = __commonJS({
|
|
|
12622
12581
|
if (buf.length) {
|
|
12623
12582
|
this._messageLength += buf.length;
|
|
12624
12583
|
if (this._messageLength > this._maxPayload && this._maxPayload > 0) {
|
|
12625
|
-
|
|
12626
|
-
|
|
12627
|
-
|
|
12628
|
-
|
|
12629
|
-
|
|
12630
|
-
|
|
12584
|
+
return cb(
|
|
12585
|
+
error(
|
|
12586
|
+
RangeError,
|
|
12587
|
+
"Max payload size exceeded",
|
|
12588
|
+
false,
|
|
12589
|
+
1009,
|
|
12590
|
+
"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH"
|
|
12591
|
+
)
|
|
12631
12592
|
);
|
|
12632
|
-
cb(error);
|
|
12633
|
-
return;
|
|
12634
12593
|
}
|
|
12635
12594
|
this._fragments.push(buf);
|
|
12636
12595
|
}
|
|
12637
|
-
this.dataMessage(
|
|
12638
|
-
if (
|
|
12596
|
+
const er = this.dataMessage();
|
|
12597
|
+
if (er) return cb(er);
|
|
12598
|
+
this.startLoop(cb);
|
|
12639
12599
|
});
|
|
12640
12600
|
}
|
|
12641
12601
|
/**
|
|
12642
12602
|
* Handles a data message.
|
|
12643
12603
|
*
|
|
12644
|
-
* @
|
|
12604
|
+
* @return {(Error|undefined)} A possible error
|
|
12645
12605
|
* @private
|
|
12646
12606
|
*/
|
|
12647
|
-
dataMessage(
|
|
12648
|
-
if (
|
|
12649
|
-
|
|
12650
|
-
|
|
12651
|
-
|
|
12652
|
-
|
|
12653
|
-
|
|
12654
|
-
|
|
12655
|
-
|
|
12656
|
-
|
|
12657
|
-
|
|
12658
|
-
|
|
12659
|
-
|
|
12660
|
-
|
|
12661
|
-
|
|
12662
|
-
|
|
12663
|
-
|
|
12664
|
-
} else {
|
|
12665
|
-
data = fragments;
|
|
12666
|
-
}
|
|
12667
|
-
if (this._allowSynchronousEvents) {
|
|
12607
|
+
dataMessage() {
|
|
12608
|
+
if (this._fin) {
|
|
12609
|
+
const messageLength = this._messageLength;
|
|
12610
|
+
const fragments = this._fragments;
|
|
12611
|
+
this._totalPayloadLength = 0;
|
|
12612
|
+
this._messageLength = 0;
|
|
12613
|
+
this._fragmented = 0;
|
|
12614
|
+
this._fragments = [];
|
|
12615
|
+
if (this._opcode === 2) {
|
|
12616
|
+
let data;
|
|
12617
|
+
if (this._binaryType === "nodebuffer") {
|
|
12618
|
+
data = concat(fragments, messageLength);
|
|
12619
|
+
} else if (this._binaryType === "arraybuffer") {
|
|
12620
|
+
data = toArrayBuffer(concat(fragments, messageLength));
|
|
12621
|
+
} else {
|
|
12622
|
+
data = fragments;
|
|
12623
|
+
}
|
|
12668
12624
|
this.emit("message", data, true);
|
|
12669
|
-
this._state = GET_INFO;
|
|
12670
12625
|
} else {
|
|
12671
|
-
|
|
12672
|
-
|
|
12673
|
-
this.
|
|
12674
|
-
|
|
12675
|
-
|
|
12676
|
-
|
|
12677
|
-
|
|
12678
|
-
|
|
12679
|
-
|
|
12680
|
-
|
|
12681
|
-
|
|
12682
|
-
Error,
|
|
12683
|
-
"invalid UTF-8 sequence",
|
|
12684
|
-
true,
|
|
12685
|
-
1007,
|
|
12686
|
-
"WS_ERR_INVALID_UTF8"
|
|
12687
|
-
);
|
|
12688
|
-
cb(error);
|
|
12689
|
-
return;
|
|
12690
|
-
}
|
|
12691
|
-
if (this._state === INFLATING || this._allowSynchronousEvents) {
|
|
12626
|
+
const buf = concat(fragments, messageLength);
|
|
12627
|
+
if (!this._skipUTF8Validation && !isValidUTF8(buf)) {
|
|
12628
|
+
this._loop = false;
|
|
12629
|
+
return error(
|
|
12630
|
+
Error,
|
|
12631
|
+
"invalid UTF-8 sequence",
|
|
12632
|
+
true,
|
|
12633
|
+
1007,
|
|
12634
|
+
"WS_ERR_INVALID_UTF8"
|
|
12635
|
+
);
|
|
12636
|
+
}
|
|
12692
12637
|
this.emit("message", buf, false);
|
|
12693
|
-
this._state = GET_INFO;
|
|
12694
|
-
} else {
|
|
12695
|
-
this._state = DEFER_EVENT;
|
|
12696
|
-
setImmediate(() => {
|
|
12697
|
-
this.emit("message", buf, false);
|
|
12698
|
-
this._state = GET_INFO;
|
|
12699
|
-
this.startLoop(cb);
|
|
12700
|
-
});
|
|
12701
12638
|
}
|
|
12702
12639
|
}
|
|
12640
|
+
this._state = GET_INFO;
|
|
12703
12641
|
}
|
|
12704
12642
|
/**
|
|
12705
12643
|
* Handles a control message.
|
|
@@ -12708,85 +12646,62 @@ var require_receiver = __commonJS({
|
|
|
12708
12646
|
* @return {(Error|RangeError|undefined)} A possible error
|
|
12709
12647
|
* @private
|
|
12710
12648
|
*/
|
|
12711
|
-
controlMessage(data
|
|
12649
|
+
controlMessage(data) {
|
|
12712
12650
|
if (this._opcode === 8) {
|
|
12651
|
+
this._loop = false;
|
|
12713
12652
|
if (data.length === 0) {
|
|
12714
|
-
this._loop = false;
|
|
12715
12653
|
this.emit("conclude", 1005, EMPTY_BUFFER);
|
|
12716
12654
|
this.end();
|
|
12655
|
+
} else if (data.length === 1) {
|
|
12656
|
+
return error(
|
|
12657
|
+
RangeError,
|
|
12658
|
+
"invalid payload length 1",
|
|
12659
|
+
true,
|
|
12660
|
+
1002,
|
|
12661
|
+
"WS_ERR_INVALID_CONTROL_PAYLOAD_LENGTH"
|
|
12662
|
+
);
|
|
12717
12663
|
} else {
|
|
12718
12664
|
const code = data.readUInt16BE(0);
|
|
12719
12665
|
if (!isValidStatusCode(code)) {
|
|
12720
|
-
|
|
12666
|
+
return error(
|
|
12721
12667
|
RangeError,
|
|
12722
12668
|
`invalid status code ${code}`,
|
|
12723
12669
|
true,
|
|
12724
12670
|
1002,
|
|
12725
12671
|
"WS_ERR_INVALID_CLOSE_CODE"
|
|
12726
12672
|
);
|
|
12727
|
-
cb(error);
|
|
12728
|
-
return;
|
|
12729
12673
|
}
|
|
12730
|
-
const buf =
|
|
12731
|
-
data.buffer,
|
|
12732
|
-
data.byteOffset + 2,
|
|
12733
|
-
data.length - 2
|
|
12734
|
-
);
|
|
12674
|
+
const buf = data.slice(2);
|
|
12735
12675
|
if (!this._skipUTF8Validation && !isValidUTF8(buf)) {
|
|
12736
|
-
|
|
12676
|
+
return error(
|
|
12737
12677
|
Error,
|
|
12738
12678
|
"invalid UTF-8 sequence",
|
|
12739
12679
|
true,
|
|
12740
12680
|
1007,
|
|
12741
12681
|
"WS_ERR_INVALID_UTF8"
|
|
12742
12682
|
);
|
|
12743
|
-
cb(error);
|
|
12744
|
-
return;
|
|
12745
12683
|
}
|
|
12746
|
-
this._loop = false;
|
|
12747
12684
|
this.emit("conclude", code, buf);
|
|
12748
12685
|
this.end();
|
|
12749
12686
|
}
|
|
12750
|
-
|
|
12751
|
-
|
|
12752
|
-
}
|
|
12753
|
-
if (this._allowSynchronousEvents) {
|
|
12754
|
-
this.emit(this._opcode === 9 ? "ping" : "pong", data);
|
|
12755
|
-
this._state = GET_INFO;
|
|
12687
|
+
} else if (this._opcode === 9) {
|
|
12688
|
+
this.emit("ping", data);
|
|
12756
12689
|
} else {
|
|
12757
|
-
this.
|
|
12758
|
-
setImmediate(() => {
|
|
12759
|
-
this.emit(this._opcode === 9 ? "ping" : "pong", data);
|
|
12760
|
-
this._state = GET_INFO;
|
|
12761
|
-
this.startLoop(cb);
|
|
12762
|
-
});
|
|
12690
|
+
this.emit("pong", data);
|
|
12763
12691
|
}
|
|
12764
|
-
|
|
12765
|
-
/**
|
|
12766
|
-
* Builds an error object.
|
|
12767
|
-
*
|
|
12768
|
-
* @param {function(new:Error|RangeError)} ErrorCtor The error constructor
|
|
12769
|
-
* @param {String} message The error message
|
|
12770
|
-
* @param {Boolean} prefix Specifies whether or not to add a default prefix to
|
|
12771
|
-
* `message`
|
|
12772
|
-
* @param {Number} statusCode The status code
|
|
12773
|
-
* @param {String} errorCode The exposed error code
|
|
12774
|
-
* @return {(Error|RangeError)} The error
|
|
12775
|
-
* @private
|
|
12776
|
-
*/
|
|
12777
|
-
createError(ErrorCtor, message, prefix, statusCode, errorCode) {
|
|
12778
|
-
this._loop = false;
|
|
12779
|
-
this._errored = true;
|
|
12780
|
-
const err = new ErrorCtor(
|
|
12781
|
-
prefix ? `Invalid WebSocket frame: ${message}` : message
|
|
12782
|
-
);
|
|
12783
|
-
Error.captureStackTrace(err, this.createError);
|
|
12784
|
-
err.code = errorCode;
|
|
12785
|
-
err[kStatusCode] = statusCode;
|
|
12786
|
-
return err;
|
|
12692
|
+
this._state = GET_INFO;
|
|
12787
12693
|
}
|
|
12788
12694
|
};
|
|
12789
12695
|
module.exports = Receiver2;
|
|
12696
|
+
function error(ErrorCtor, message, prefix, statusCode, errorCode) {
|
|
12697
|
+
const err = new ErrorCtor(
|
|
12698
|
+
prefix ? `Invalid WebSocket frame: ${message}` : message
|
|
12699
|
+
);
|
|
12700
|
+
Error.captureStackTrace(err, error);
|
|
12701
|
+
err.code = errorCode;
|
|
12702
|
+
err[kStatusCode] = statusCode;
|
|
12703
|
+
return err;
|
|
12704
|
+
}
|
|
12790
12705
|
}
|
|
12791
12706
|
});
|
|
12792
12707
|
|
|
@@ -12795,7 +12710,8 @@ var require_sender = __commonJS({
|
|
|
12795
12710
|
"../../node_modules/engine.io/node_modules/ws/lib/sender.js"(exports, module) {
|
|
12796
12711
|
"use strict";
|
|
12797
12712
|
init_esm_shims();
|
|
12798
|
-
var
|
|
12713
|
+
var net = __require("net");
|
|
12714
|
+
var tls = __require("tls");
|
|
12799
12715
|
var { randomFillSync } = __require("crypto");
|
|
12800
12716
|
var PerMessageDeflate = require_permessage_deflate();
|
|
12801
12717
|
var { EMPTY_BUFFER } = require_constants();
|
|
@@ -12803,14 +12719,11 @@ var require_sender = __commonJS({
|
|
|
12803
12719
|
var { mask: applyMask, toBuffer: toBuffer2 } = require_buffer_util();
|
|
12804
12720
|
var kByteLength = Symbol("kByteLength");
|
|
12805
12721
|
var maskBuffer = Buffer.alloc(4);
|
|
12806
|
-
var RANDOM_POOL_SIZE = 8 * 1024;
|
|
12807
|
-
var randomPool;
|
|
12808
|
-
var randomPoolPointer = RANDOM_POOL_SIZE;
|
|
12809
12722
|
var Sender2 = class _Sender {
|
|
12810
12723
|
/**
|
|
12811
12724
|
* Creates a Sender instance.
|
|
12812
12725
|
*
|
|
12813
|
-
* @param {
|
|
12726
|
+
* @param {(net.Socket|tls.Socket)} socket The connection socket
|
|
12814
12727
|
* @param {Object} [extensions] An object containing the negotiated extensions
|
|
12815
12728
|
* @param {Function} [generateMask] The function used to generate the masking
|
|
12816
12729
|
* key
|
|
@@ -12859,17 +12772,7 @@ var require_sender = __commonJS({
|
|
|
12859
12772
|
if (options.generateMask) {
|
|
12860
12773
|
options.generateMask(mask);
|
|
12861
12774
|
} else {
|
|
12862
|
-
|
|
12863
|
-
if (randomPool === void 0) {
|
|
12864
|
-
randomPool = Buffer.alloc(RANDOM_POOL_SIZE);
|
|
12865
|
-
}
|
|
12866
|
-
randomFillSync(randomPool, 0, RANDOM_POOL_SIZE);
|
|
12867
|
-
randomPoolPointer = 0;
|
|
12868
|
-
}
|
|
12869
|
-
mask[0] = randomPool[randomPoolPointer++];
|
|
12870
|
-
mask[1] = randomPool[randomPoolPointer++];
|
|
12871
|
-
mask[2] = randomPool[randomPoolPointer++];
|
|
12872
|
-
mask[3] = randomPool[randomPoolPointer++];
|
|
12775
|
+
randomFillSync(mask, 0, 4);
|
|
12873
12776
|
}
|
|
12874
12777
|
skipMasking = (mask[0] | mask[1] | mask[2] | mask[3]) === 0;
|
|
12875
12778
|
offset = 6;
|
|
@@ -13604,7 +13507,7 @@ var require_websocket2 = __commonJS({
|
|
|
13604
13507
|
var net = __require("net");
|
|
13605
13508
|
var tls = __require("tls");
|
|
13606
13509
|
var { randomBytes, createHash } = __require("crypto");
|
|
13607
|
-
var {
|
|
13510
|
+
var { Readable } = __require("stream");
|
|
13608
13511
|
var { URL: URL2 } = __require("url");
|
|
13609
13512
|
var PerMessageDeflate = require_permessage_deflate();
|
|
13610
13513
|
var Receiver2 = require_receiver();
|
|
@@ -13668,7 +13571,6 @@ var require_websocket2 = __commonJS({
|
|
|
13668
13571
|
}
|
|
13669
13572
|
initAsClient(this, address, protocols, options);
|
|
13670
13573
|
} else {
|
|
13671
|
-
this._autoPong = options.autoPong;
|
|
13672
13574
|
this._isServer = true;
|
|
13673
13575
|
}
|
|
13674
13576
|
}
|
|
@@ -13755,12 +13657,10 @@ var require_websocket2 = __commonJS({
|
|
|
13755
13657
|
/**
|
|
13756
13658
|
* Set up the socket and the internal resources.
|
|
13757
13659
|
*
|
|
13758
|
-
* @param {
|
|
13660
|
+
* @param {(net.Socket|tls.Socket)} socket The network socket between the
|
|
13661
|
+
* server and client
|
|
13759
13662
|
* @param {Buffer} head The first packet of the upgraded stream
|
|
13760
13663
|
* @param {Object} options Options object
|
|
13761
|
-
* @param {Boolean} [options.allowSynchronousEvents=false] Specifies whether
|
|
13762
|
-
* any of the `'message'`, `'ping'`, and `'pong'` events can be emitted
|
|
13763
|
-
* multiple times in the same tick
|
|
13764
13664
|
* @param {Function} [options.generateMask] The function used to generate the
|
|
13765
13665
|
* masking key
|
|
13766
13666
|
* @param {Number} [options.maxPayload=0] The maximum allowed message size
|
|
@@ -13770,7 +13670,6 @@ var require_websocket2 = __commonJS({
|
|
|
13770
13670
|
*/
|
|
13771
13671
|
setSocket(socket, head, options) {
|
|
13772
13672
|
const receiver = new Receiver2({
|
|
13773
|
-
allowSynchronousEvents: options.allowSynchronousEvents,
|
|
13774
13673
|
binaryType: this.binaryType,
|
|
13775
13674
|
extensions: this._extensions,
|
|
13776
13675
|
isServer: this._isServer,
|
|
@@ -13788,8 +13687,8 @@ var require_websocket2 = __commonJS({
|
|
|
13788
13687
|
receiver.on("message", receiverOnMessage);
|
|
13789
13688
|
receiver.on("ping", receiverOnPing);
|
|
13790
13689
|
receiver.on("pong", receiverOnPong);
|
|
13791
|
-
|
|
13792
|
-
|
|
13690
|
+
socket.setTimeout(0);
|
|
13691
|
+
socket.setNoDelay();
|
|
13793
13692
|
if (head.length > 0) socket.unshift(head);
|
|
13794
13693
|
socket.on("close", socketOnClose);
|
|
13795
13694
|
socket.on("data", socketOnData);
|
|
@@ -13840,8 +13739,7 @@ var require_websocket2 = __commonJS({
|
|
|
13840
13739
|
if (this.readyState === _WebSocket.CLOSED) return;
|
|
13841
13740
|
if (this.readyState === _WebSocket.CONNECTING) {
|
|
13842
13741
|
const msg = "WebSocket was closed before the connection was established";
|
|
13843
|
-
abortHandshake(this, this._req, msg);
|
|
13844
|
-
return;
|
|
13742
|
+
return abortHandshake(this, this._req, msg);
|
|
13845
13743
|
}
|
|
13846
13744
|
if (this.readyState === _WebSocket.CLOSING) {
|
|
13847
13745
|
if (this._closeFrameSent && (this._closeFrameReceived || this._receiver._writableState.errorEmitted)) {
|
|
@@ -13989,8 +13887,7 @@ var require_websocket2 = __commonJS({
|
|
|
13989
13887
|
if (this.readyState === _WebSocket.CLOSED) return;
|
|
13990
13888
|
if (this.readyState === _WebSocket.CONNECTING) {
|
|
13991
13889
|
const msg = "WebSocket was closed before the connection was established";
|
|
13992
|
-
abortHandshake(this, this._req, msg);
|
|
13993
|
-
return;
|
|
13890
|
+
return abortHandshake(this, this._req, msg);
|
|
13994
13891
|
}
|
|
13995
13892
|
if (this._socket) {
|
|
13996
13893
|
this._readyState = _WebSocket.CLOSING;
|
|
@@ -14069,8 +13966,6 @@ var require_websocket2 = __commonJS({
|
|
|
14069
13966
|
module.exports = WebSocket3;
|
|
14070
13967
|
function initAsClient(websocket, address, protocols, options) {
|
|
14071
13968
|
const opts = {
|
|
14072
|
-
allowSynchronousEvents: true,
|
|
14073
|
-
autoPong: true,
|
|
14074
13969
|
protocolVersion: protocolVersions[1],
|
|
14075
13970
|
maxPayload: 100 * 1024 * 1024,
|
|
14076
13971
|
skipUTF8Validation: false,
|
|
@@ -14078,6 +13973,7 @@ var require_websocket2 = __commonJS({
|
|
|
14078
13973
|
followRedirects: false,
|
|
14079
13974
|
maxRedirects: 10,
|
|
14080
13975
|
...options,
|
|
13976
|
+
createConnection: void 0,
|
|
14081
13977
|
socketPath: void 0,
|
|
14082
13978
|
hostname: void 0,
|
|
14083
13979
|
protocol: void 0,
|
|
@@ -14087,7 +13983,6 @@ var require_websocket2 = __commonJS({
|
|
|
14087
13983
|
path: void 0,
|
|
14088
13984
|
port: void 0
|
|
14089
13985
|
};
|
|
14090
|
-
websocket._autoPong = opts.autoPong;
|
|
14091
13986
|
if (!protocolVersions.includes(opts.protocolVersion)) {
|
|
14092
13987
|
throw new RangeError(
|
|
14093
13988
|
`Unsupported protocol version: ${opts.protocolVersion} (supported versions: ${protocolVersions.join(", ")})`
|
|
@@ -14096,24 +13991,20 @@ var require_websocket2 = __commonJS({
|
|
|
14096
13991
|
let parsedUrl;
|
|
14097
13992
|
if (address instanceof URL2) {
|
|
14098
13993
|
parsedUrl = address;
|
|
13994
|
+
websocket._url = address.href;
|
|
14099
13995
|
} else {
|
|
14100
13996
|
try {
|
|
14101
13997
|
parsedUrl = new URL2(address);
|
|
14102
13998
|
} catch (e) {
|
|
14103
13999
|
throw new SyntaxError(`Invalid URL: ${address}`);
|
|
14104
14000
|
}
|
|
14001
|
+
websocket._url = address;
|
|
14105
14002
|
}
|
|
14106
|
-
if (parsedUrl.protocol === "http:") {
|
|
14107
|
-
parsedUrl.protocol = "ws:";
|
|
14108
|
-
} else if (parsedUrl.protocol === "https:") {
|
|
14109
|
-
parsedUrl.protocol = "wss:";
|
|
14110
|
-
}
|
|
14111
|
-
websocket._url = parsedUrl.href;
|
|
14112
14003
|
const isSecure = parsedUrl.protocol === "wss:";
|
|
14113
14004
|
const isIpcUrl = parsedUrl.protocol === "ws+unix:";
|
|
14114
14005
|
let invalidUrlMessage;
|
|
14115
14006
|
if (parsedUrl.protocol !== "ws:" && !isSecure && !isIpcUrl) {
|
|
14116
|
-
invalidUrlMessage = `The URL's protocol must be one of "ws:", "wss:",
|
|
14007
|
+
invalidUrlMessage = `The URL's protocol must be one of "ws:", "wss:", or "ws+unix:"`;
|
|
14117
14008
|
} else if (isIpcUrl && !parsedUrl.pathname) {
|
|
14118
14009
|
invalidUrlMessage = "The URL's pathname is empty";
|
|
14119
14010
|
} else if (parsedUrl.hash) {
|
|
@@ -14133,7 +14024,7 @@ var require_websocket2 = __commonJS({
|
|
|
14133
14024
|
const request = isSecure ? https.request : http.request;
|
|
14134
14025
|
const protocolSet = /* @__PURE__ */ new Set();
|
|
14135
14026
|
let perMessageDeflate;
|
|
14136
|
-
opts.createConnection =
|
|
14027
|
+
opts.createConnection = isSecure ? tlsConnect : netConnect;
|
|
14137
14028
|
opts.defaultPort = opts.defaultPort || defaultPort;
|
|
14138
14029
|
opts.port = parsedUrl.port || defaultPort;
|
|
14139
14030
|
opts.host = parsedUrl.hostname.startsWith("[") ? parsedUrl.hostname.slice(1, -1) : parsedUrl.hostname;
|
|
@@ -14254,8 +14145,7 @@ var require_websocket2 = __commonJS({
|
|
|
14254
14145
|
websocket.emit("upgrade", res);
|
|
14255
14146
|
if (websocket.readyState !== WebSocket3.CONNECTING) return;
|
|
14256
14147
|
req = websocket._req = null;
|
|
14257
|
-
|
|
14258
|
-
if (upgrade === void 0 || upgrade.toLowerCase() !== "websocket") {
|
|
14148
|
+
if (res.headers.upgrade.toLowerCase() !== "websocket") {
|
|
14259
14149
|
abortHandshake(websocket, socket, "Invalid Upgrade header");
|
|
14260
14150
|
return;
|
|
14261
14151
|
}
|
|
@@ -14311,17 +14201,12 @@ var require_websocket2 = __commonJS({
|
|
|
14311
14201
|
websocket._extensions[PerMessageDeflate.extensionName] = perMessageDeflate;
|
|
14312
14202
|
}
|
|
14313
14203
|
websocket.setSocket(socket, head, {
|
|
14314
|
-
allowSynchronousEvents: opts.allowSynchronousEvents,
|
|
14315
14204
|
generateMask: opts.generateMask,
|
|
14316
14205
|
maxPayload: opts.maxPayload,
|
|
14317
14206
|
skipUTF8Validation: opts.skipUTF8Validation
|
|
14318
14207
|
});
|
|
14319
14208
|
});
|
|
14320
|
-
|
|
14321
|
-
opts.finishRequest(req, websocket);
|
|
14322
|
-
} else {
|
|
14323
|
-
req.end();
|
|
14324
|
-
}
|
|
14209
|
+
req.end();
|
|
14325
14210
|
}
|
|
14326
14211
|
function emitErrorAndClose(websocket, err) {
|
|
14327
14212
|
websocket._readyState = WebSocket3.CLOSING;
|
|
@@ -14366,7 +14251,7 @@ var require_websocket2 = __commonJS({
|
|
|
14366
14251
|
const err = new Error(
|
|
14367
14252
|
`WebSocket is not open: readyState ${websocket.readyState} (${readyStates[websocket.readyState]})`
|
|
14368
14253
|
);
|
|
14369
|
-
|
|
14254
|
+
cb(err);
|
|
14370
14255
|
}
|
|
14371
14256
|
}
|
|
14372
14257
|
function receiverOnConclude(code, reason) {
|
|
@@ -14401,7 +14286,7 @@ var require_websocket2 = __commonJS({
|
|
|
14401
14286
|
}
|
|
14402
14287
|
function receiverOnPing(data) {
|
|
14403
14288
|
const websocket = this[kWebSocket];
|
|
14404
|
-
|
|
14289
|
+
websocket.pong(data, !websocket._isServer, NOOP);
|
|
14405
14290
|
websocket.emit("ping", data);
|
|
14406
14291
|
}
|
|
14407
14292
|
function receiverOnPong(data) {
|
|
@@ -14604,7 +14489,9 @@ var require_websocket_server = __commonJS({
|
|
|
14604
14489
|
init_esm_shims();
|
|
14605
14490
|
var EventEmitter = __require("events");
|
|
14606
14491
|
var http = __require("http");
|
|
14607
|
-
var
|
|
14492
|
+
var https = __require("https");
|
|
14493
|
+
var net = __require("net");
|
|
14494
|
+
var tls = __require("tls");
|
|
14608
14495
|
var { createHash } = __require("crypto");
|
|
14609
14496
|
var extension = require_extension();
|
|
14610
14497
|
var PerMessageDeflate = require_permessage_deflate();
|
|
@@ -14620,11 +14507,6 @@ var require_websocket_server = __commonJS({
|
|
|
14620
14507
|
* Create a `WebSocketServer` instance.
|
|
14621
14508
|
*
|
|
14622
14509
|
* @param {Object} options Configuration options
|
|
14623
|
-
* @param {Boolean} [options.allowSynchronousEvents=true] Specifies whether
|
|
14624
|
-
* any of the `'message'`, `'ping'`, and `'pong'` events can be emitted
|
|
14625
|
-
* multiple times in the same tick
|
|
14626
|
-
* @param {Boolean} [options.autoPong=true] Specifies whether or not to
|
|
14627
|
-
* automatically send a pong in response to a ping
|
|
14628
14510
|
* @param {Number} [options.backlog=511] The maximum length of the queue of
|
|
14629
14511
|
* pending connections
|
|
14630
14512
|
* @param {Boolean} [options.clientTracking=true] Specifies whether or not to
|
|
@@ -14650,8 +14532,6 @@ var require_websocket_server = __commonJS({
|
|
|
14650
14532
|
constructor(options, callback) {
|
|
14651
14533
|
super();
|
|
14652
14534
|
options = {
|
|
14653
|
-
allowSynchronousEvents: true,
|
|
14654
|
-
autoPong: true,
|
|
14655
14535
|
maxPayload: 100 * 1024 * 1024,
|
|
14656
14536
|
skipUTF8Validation: false,
|
|
14657
14537
|
perMessageDeflate: false,
|
|
@@ -14787,7 +14667,8 @@ var require_websocket_server = __commonJS({
|
|
|
14787
14667
|
* Handle a HTTP Upgrade request.
|
|
14788
14668
|
*
|
|
14789
14669
|
* @param {http.IncomingMessage} req The request object
|
|
14790
|
-
* @param {
|
|
14670
|
+
* @param {(net.Socket|tls.Socket)} socket The network socket between the
|
|
14671
|
+
* server and client
|
|
14791
14672
|
* @param {Buffer} head The first packet of the upgraded stream
|
|
14792
14673
|
* @param {Function} cb Callback
|
|
14793
14674
|
* @public
|
|
@@ -14795,19 +14676,18 @@ var require_websocket_server = __commonJS({
|
|
|
14795
14676
|
handleUpgrade(req, socket, head, cb) {
|
|
14796
14677
|
socket.on("error", socketOnError);
|
|
14797
14678
|
const key = req.headers["sec-websocket-key"];
|
|
14798
|
-
const upgrade = req.headers.upgrade;
|
|
14799
14679
|
const version = +req.headers["sec-websocket-version"];
|
|
14800
14680
|
if (req.method !== "GET") {
|
|
14801
14681
|
const message = "Invalid HTTP method";
|
|
14802
14682
|
abortHandshakeOrEmitwsClientError(this, req, socket, 405, message);
|
|
14803
14683
|
return;
|
|
14804
14684
|
}
|
|
14805
|
-
if (upgrade
|
|
14685
|
+
if (req.headers.upgrade.toLowerCase() !== "websocket") {
|
|
14806
14686
|
const message = "Invalid Upgrade header";
|
|
14807
14687
|
abortHandshakeOrEmitwsClientError(this, req, socket, 400, message);
|
|
14808
14688
|
return;
|
|
14809
14689
|
}
|
|
14810
|
-
if (key
|
|
14690
|
+
if (!key || !keyRegex.test(key)) {
|
|
14811
14691
|
const message = "Missing or invalid Sec-WebSocket-Key header";
|
|
14812
14692
|
abortHandshakeOrEmitwsClientError(this, req, socket, 400, message);
|
|
14813
14693
|
return;
|
|
@@ -14886,7 +14766,8 @@ var require_websocket_server = __commonJS({
|
|
|
14886
14766
|
* @param {String} key The value of the `Sec-WebSocket-Key` header
|
|
14887
14767
|
* @param {Set} protocols The subprotocols
|
|
14888
14768
|
* @param {http.IncomingMessage} req The request object
|
|
14889
|
-
* @param {
|
|
14769
|
+
* @param {(net.Socket|tls.Socket)} socket The network socket between the
|
|
14770
|
+
* server and client
|
|
14890
14771
|
* @param {Buffer} head The first packet of the upgraded stream
|
|
14891
14772
|
* @param {Function} cb Callback
|
|
14892
14773
|
* @throws {Error} If called more than once with the same socket
|
|
@@ -14907,7 +14788,7 @@ var require_websocket_server = __commonJS({
|
|
|
14907
14788
|
"Connection: Upgrade",
|
|
14908
14789
|
`Sec-WebSocket-Accept: ${digest}`
|
|
14909
14790
|
];
|
|
14910
|
-
const ws = new this.options.WebSocket(null
|
|
14791
|
+
const ws = new this.options.WebSocket(null);
|
|
14911
14792
|
if (protocols.size) {
|
|
14912
14793
|
const protocol4 = this.options.handleProtocols ? this.options.handleProtocols(protocols, req) : protocols.values().next().value;
|
|
14913
14794
|
if (protocol4) {
|
|
@@ -14927,7 +14808,6 @@ var require_websocket_server = __commonJS({
|
|
|
14927
14808
|
socket.write(headers.concat("\r\n").join("\r\n"));
|
|
14928
14809
|
socket.removeListener("error", socketOnError);
|
|
14929
14810
|
ws.setSocket(socket, head, {
|
|
14930
|
-
allowSynchronousEvents: this.options.allowSynchronousEvents,
|
|
14931
14811
|
maxPayload: this.options.maxPayload,
|
|
14932
14812
|
skipUTF8Validation: this.options.skipUTF8Validation
|
|
14933
14813
|
});
|
|
@@ -15634,6 +15514,11 @@ var require_server = __commonJS({
|
|
|
15634
15514
|
} else if ("websocket" === transportName) {
|
|
15635
15515
|
transport.perMessageDeflate = this.opts.perMessageDeflate;
|
|
15636
15516
|
}
|
|
15517
|
+
if (req._query && req._query.b64) {
|
|
15518
|
+
transport.supportsBinary = false;
|
|
15519
|
+
} else {
|
|
15520
|
+
transport.supportsBinary = true;
|
|
15521
|
+
}
|
|
15637
15522
|
} catch (e) {
|
|
15638
15523
|
debug11('error handshaking to transport "%s"', transportName);
|
|
15639
15524
|
this.emit("connection_error", {
|
|
@@ -15926,6 +15811,11 @@ var require_server = __commonJS({
|
|
|
15926
15811
|
debug11("upgrading existing transport");
|
|
15927
15812
|
websocket.removeListener("error", onUpgradeError);
|
|
15928
15813
|
const transport = this.createTransport(req._query.transport, req);
|
|
15814
|
+
if (req._query && req._query.b64) {
|
|
15815
|
+
transport.supportsBinary = false;
|
|
15816
|
+
} else {
|
|
15817
|
+
transport.supportsBinary = true;
|
|
15818
|
+
}
|
|
15929
15819
|
transport.perMessageDeflate = this.opts.perMessageDeflate;
|
|
15930
15820
|
client.maybeUpgrade(transport);
|
|
15931
15821
|
}
|
|
@@ -16347,7 +16237,6 @@ var require_polling2 = __commonJS({
|
|
|
16347
16237
|
*/
|
|
16348
16238
|
onRequest(req) {
|
|
16349
16239
|
const res = req.res;
|
|
16350
|
-
req.res = null;
|
|
16351
16240
|
if (req.getMethod() === "get") {
|
|
16352
16241
|
this.onPollRequest(req, res);
|
|
16353
16242
|
} else if (req.getMethod() === "post") {
|
|
@@ -16649,7 +16538,6 @@ var require_polling2 = __commonJS({
|
|
|
16649
16538
|
if (ua && (~ua.indexOf(";MSIE") || ~ua.indexOf("Trident/"))) {
|
|
16650
16539
|
headers["X-XSS-Protection"] = "0";
|
|
16651
16540
|
}
|
|
16652
|
-
headers["cache-control"] = "no-store";
|
|
16653
16541
|
this.emit("headers", headers, req);
|
|
16654
16542
|
return headers;
|
|
16655
16543
|
}
|
|
@@ -26710,7 +26598,6 @@ var require_buffer_util3 = __commonJS({
|
|
|
26710
26598
|
"use strict";
|
|
26711
26599
|
init_esm_shims();
|
|
26712
26600
|
var { EMPTY_BUFFER } = require_constants3();
|
|
26713
|
-
var FastBuffer = Buffer[Symbol.species];
|
|
26714
26601
|
function concat(list, totalLength2) {
|
|
26715
26602
|
if (list.length === 0) return EMPTY_BUFFER;
|
|
26716
26603
|
if (list.length === 1) return list[0];
|
|
@@ -26721,9 +26608,7 @@ var require_buffer_util3 = __commonJS({
|
|
|
26721
26608
|
target.set(buf, offset);
|
|
26722
26609
|
offset += buf.length;
|
|
26723
26610
|
}
|
|
26724
|
-
if (offset < totalLength2)
|
|
26725
|
-
return new FastBuffer(target.buffer, target.byteOffset, offset);
|
|
26726
|
-
}
|
|
26611
|
+
if (offset < totalLength2) return target.slice(0, offset);
|
|
26727
26612
|
return target;
|
|
26728
26613
|
}
|
|
26729
26614
|
function _mask(source, mask, output, offset, length2) {
|
|
@@ -26737,19 +26622,19 @@ var require_buffer_util3 = __commonJS({
|
|
|
26737
26622
|
}
|
|
26738
26623
|
}
|
|
26739
26624
|
function toArrayBuffer(buf) {
|
|
26740
|
-
if (buf.
|
|
26625
|
+
if (buf.byteLength === buf.buffer.byteLength) {
|
|
26741
26626
|
return buf.buffer;
|
|
26742
26627
|
}
|
|
26743
|
-
return buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.
|
|
26628
|
+
return buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength);
|
|
26744
26629
|
}
|
|
26745
26630
|
function toBuffer2(data) {
|
|
26746
26631
|
toBuffer2.readOnly = true;
|
|
26747
26632
|
if (Buffer.isBuffer(data)) return data;
|
|
26748
26633
|
let buf;
|
|
26749
26634
|
if (data instanceof ArrayBuffer) {
|
|
26750
|
-
buf =
|
|
26635
|
+
buf = Buffer.from(data);
|
|
26751
26636
|
} else if (ArrayBuffer.isView(data)) {
|
|
26752
|
-
buf =
|
|
26637
|
+
buf = Buffer.from(data.buffer, data.byteOffset, data.byteLength);
|
|
26753
26638
|
} else {
|
|
26754
26639
|
buf = Buffer.from(data);
|
|
26755
26640
|
toBuffer2.readOnly = false;
|
|
@@ -26840,7 +26725,6 @@ var require_permessage_deflate3 = __commonJS({
|
|
|
26840
26725
|
var bufferUtil = require_buffer_util3();
|
|
26841
26726
|
var Limiter = require_limiter3();
|
|
26842
26727
|
var { kStatusCode } = require_constants3();
|
|
26843
|
-
var FastBuffer = Buffer[Symbol.species];
|
|
26844
26728
|
var TRAILER = Buffer.from([0, 0, 255, 255]);
|
|
26845
26729
|
var kPerMessageDeflate = Symbol("permessage-deflate");
|
|
26846
26730
|
var kTotalLength = Symbol("total-length");
|
|
@@ -27173,9 +27057,7 @@ var require_permessage_deflate3 = __commonJS({
|
|
|
27173
27057
|
this._deflate[kBuffers],
|
|
27174
27058
|
this._deflate[kTotalLength]
|
|
27175
27059
|
);
|
|
27176
|
-
if (fin)
|
|
27177
|
-
data2 = new FastBuffer(data2.buffer, data2.byteOffset, data2.length - 4);
|
|
27178
|
-
}
|
|
27060
|
+
if (fin) data2 = data2.slice(0, data2.length - 4);
|
|
27179
27061
|
this._deflate[kCallback] = null;
|
|
27180
27062
|
this._deflate[kTotalLength] = 0;
|
|
27181
27063
|
this._deflate[kBuffers] = [];
|
|
@@ -27216,7 +27098,6 @@ var require_validation3 = __commonJS({
|
|
|
27216
27098
|
"../../node_modules/engine.io-client/node_modules/ws/lib/validation.js"(exports, module) {
|
|
27217
27099
|
"use strict";
|
|
27218
27100
|
init_esm_shims();
|
|
27219
|
-
var { isUtf8 } = __require("buffer");
|
|
27220
27101
|
var tokenChars = [
|
|
27221
27102
|
0,
|
|
27222
27103
|
0,
|
|
@@ -27392,15 +27273,11 @@ var require_validation3 = __commonJS({
|
|
|
27392
27273
|
isValidUTF8: _isValidUTF8,
|
|
27393
27274
|
tokenChars
|
|
27394
27275
|
};
|
|
27395
|
-
if (
|
|
27396
|
-
module.exports.isValidUTF8 = function(buf) {
|
|
27397
|
-
return buf.length < 24 ? _isValidUTF8(buf) : isUtf8(buf);
|
|
27398
|
-
};
|
|
27399
|
-
} else if (!process.env.WS_NO_UTF_8_VALIDATE) {
|
|
27276
|
+
if (!process.env.WS_NO_UTF_8_VALIDATE) {
|
|
27400
27277
|
try {
|
|
27401
27278
|
const isValidUTF8 = __require("utf-8-validate");
|
|
27402
27279
|
module.exports.isValidUTF8 = function(buf) {
|
|
27403
|
-
return buf.length <
|
|
27280
|
+
return buf.length < 150 ? _isValidUTF8(buf) : isValidUTF8(buf);
|
|
27404
27281
|
};
|
|
27405
27282
|
} catch (e) {
|
|
27406
27283
|
}
|
|
@@ -27423,22 +27300,17 @@ var require_receiver3 = __commonJS({
|
|
|
27423
27300
|
} = require_constants3();
|
|
27424
27301
|
var { concat, toArrayBuffer, unmask } = require_buffer_util3();
|
|
27425
27302
|
var { isValidStatusCode, isValidUTF8 } = require_validation3();
|
|
27426
|
-
var FastBuffer = Buffer[Symbol.species];
|
|
27427
27303
|
var GET_INFO = 0;
|
|
27428
27304
|
var GET_PAYLOAD_LENGTH_16 = 1;
|
|
27429
27305
|
var GET_PAYLOAD_LENGTH_64 = 2;
|
|
27430
27306
|
var GET_MASK = 3;
|
|
27431
27307
|
var GET_DATA = 4;
|
|
27432
27308
|
var INFLATING = 5;
|
|
27433
|
-
var DEFER_EVENT = 6;
|
|
27434
27309
|
var Receiver2 = class extends Writable {
|
|
27435
27310
|
/**
|
|
27436
27311
|
* Creates a Receiver instance.
|
|
27437
27312
|
*
|
|
27438
27313
|
* @param {Object} [options] Options object
|
|
27439
|
-
* @param {Boolean} [options.allowSynchronousEvents=true] Specifies whether
|
|
27440
|
-
* any of the `'message'`, `'ping'`, and `'pong'` events can be emitted
|
|
27441
|
-
* multiple times in the same tick
|
|
27442
27314
|
* @param {String} [options.binaryType=nodebuffer] The type for binary data
|
|
27443
27315
|
* @param {Object} [options.extensions] An object containing the negotiated
|
|
27444
27316
|
* extensions
|
|
@@ -27450,7 +27322,6 @@ var require_receiver3 = __commonJS({
|
|
|
27450
27322
|
*/
|
|
27451
27323
|
constructor(options = {}) {
|
|
27452
27324
|
super();
|
|
27453
|
-
this._allowSynchronousEvents = options.allowSynchronousEvents !== void 0 ? options.allowSynchronousEvents : true;
|
|
27454
27325
|
this._binaryType = options.binaryType || BINARY_TYPES[0];
|
|
27455
27326
|
this._extensions = options.extensions || {};
|
|
27456
27327
|
this._isServer = !!options.isServer;
|
|
@@ -27469,9 +27340,8 @@ var require_receiver3 = __commonJS({
|
|
|
27469
27340
|
this._totalPayloadLength = 0;
|
|
27470
27341
|
this._messageLength = 0;
|
|
27471
27342
|
this._fragments = [];
|
|
27472
|
-
this._errored = false;
|
|
27473
|
-
this._loop = false;
|
|
27474
27343
|
this._state = GET_INFO;
|
|
27344
|
+
this._loop = false;
|
|
27475
27345
|
}
|
|
27476
27346
|
/**
|
|
27477
27347
|
* Implements `Writable.prototype._write()`.
|
|
@@ -27499,12 +27369,8 @@ var require_receiver3 = __commonJS({
|
|
|
27499
27369
|
if (n === this._buffers[0].length) return this._buffers.shift();
|
|
27500
27370
|
if (n < this._buffers[0].length) {
|
|
27501
27371
|
const buf = this._buffers[0];
|
|
27502
|
-
this._buffers[0] =
|
|
27503
|
-
|
|
27504
|
-
buf.byteOffset + n,
|
|
27505
|
-
buf.length - n
|
|
27506
|
-
);
|
|
27507
|
-
return new FastBuffer(buf.buffer, buf.byteOffset, n);
|
|
27372
|
+
this._buffers[0] = buf.slice(n);
|
|
27373
|
+
return buf.slice(0, n);
|
|
27508
27374
|
}
|
|
27509
27375
|
const dst = Buffer.allocUnsafe(n);
|
|
27510
27376
|
do {
|
|
@@ -27514,11 +27380,7 @@ var require_receiver3 = __commonJS({
|
|
|
27514
27380
|
dst.set(this._buffers.shift(), offset);
|
|
27515
27381
|
} else {
|
|
27516
27382
|
dst.set(new Uint8Array(buf.buffer, buf.byteOffset, n), offset);
|
|
27517
|
-
this._buffers[0] =
|
|
27518
|
-
buf.buffer,
|
|
27519
|
-
buf.byteOffset + n,
|
|
27520
|
-
buf.length - n
|
|
27521
|
-
);
|
|
27383
|
+
this._buffers[0] = buf.slice(n);
|
|
27522
27384
|
}
|
|
27523
27385
|
n -= buf.length;
|
|
27524
27386
|
} while (n > 0);
|
|
@@ -27531,202 +27393,191 @@ var require_receiver3 = __commonJS({
|
|
|
27531
27393
|
* @private
|
|
27532
27394
|
*/
|
|
27533
27395
|
startLoop(cb) {
|
|
27396
|
+
let err;
|
|
27534
27397
|
this._loop = true;
|
|
27535
27398
|
do {
|
|
27536
27399
|
switch (this._state) {
|
|
27537
27400
|
case GET_INFO:
|
|
27538
|
-
this.getInfo(
|
|
27401
|
+
err = this.getInfo();
|
|
27539
27402
|
break;
|
|
27540
27403
|
case GET_PAYLOAD_LENGTH_16:
|
|
27541
|
-
this.getPayloadLength16(
|
|
27404
|
+
err = this.getPayloadLength16();
|
|
27542
27405
|
break;
|
|
27543
27406
|
case GET_PAYLOAD_LENGTH_64:
|
|
27544
|
-
this.getPayloadLength64(
|
|
27407
|
+
err = this.getPayloadLength64();
|
|
27545
27408
|
break;
|
|
27546
27409
|
case GET_MASK:
|
|
27547
27410
|
this.getMask();
|
|
27548
27411
|
break;
|
|
27549
27412
|
case GET_DATA:
|
|
27550
|
-
this.getData(cb);
|
|
27413
|
+
err = this.getData(cb);
|
|
27551
27414
|
break;
|
|
27552
|
-
|
|
27553
|
-
case DEFER_EVENT:
|
|
27415
|
+
default:
|
|
27554
27416
|
this._loop = false;
|
|
27555
27417
|
return;
|
|
27556
27418
|
}
|
|
27557
27419
|
} while (this._loop);
|
|
27558
|
-
|
|
27420
|
+
cb(err);
|
|
27559
27421
|
}
|
|
27560
27422
|
/**
|
|
27561
27423
|
* Reads the first two bytes of a frame.
|
|
27562
27424
|
*
|
|
27563
|
-
* @
|
|
27425
|
+
* @return {(RangeError|undefined)} A possible error
|
|
27564
27426
|
* @private
|
|
27565
27427
|
*/
|
|
27566
|
-
getInfo(
|
|
27428
|
+
getInfo() {
|
|
27567
27429
|
if (this._bufferedBytes < 2) {
|
|
27568
27430
|
this._loop = false;
|
|
27569
27431
|
return;
|
|
27570
27432
|
}
|
|
27571
27433
|
const buf = this.consume(2);
|
|
27572
27434
|
if ((buf[0] & 48) !== 0) {
|
|
27573
|
-
|
|
27435
|
+
this._loop = false;
|
|
27436
|
+
return error(
|
|
27574
27437
|
RangeError,
|
|
27575
27438
|
"RSV2 and RSV3 must be clear",
|
|
27576
27439
|
true,
|
|
27577
27440
|
1002,
|
|
27578
27441
|
"WS_ERR_UNEXPECTED_RSV_2_3"
|
|
27579
27442
|
);
|
|
27580
|
-
cb(error);
|
|
27581
|
-
return;
|
|
27582
27443
|
}
|
|
27583
27444
|
const compressed = (buf[0] & 64) === 64;
|
|
27584
27445
|
if (compressed && !this._extensions[PerMessageDeflate.extensionName]) {
|
|
27585
|
-
|
|
27446
|
+
this._loop = false;
|
|
27447
|
+
return error(
|
|
27586
27448
|
RangeError,
|
|
27587
27449
|
"RSV1 must be clear",
|
|
27588
27450
|
true,
|
|
27589
27451
|
1002,
|
|
27590
27452
|
"WS_ERR_UNEXPECTED_RSV_1"
|
|
27591
27453
|
);
|
|
27592
|
-
cb(error);
|
|
27593
|
-
return;
|
|
27594
27454
|
}
|
|
27595
27455
|
this._fin = (buf[0] & 128) === 128;
|
|
27596
27456
|
this._opcode = buf[0] & 15;
|
|
27597
27457
|
this._payloadLength = buf[1] & 127;
|
|
27598
27458
|
if (this._opcode === 0) {
|
|
27599
27459
|
if (compressed) {
|
|
27600
|
-
|
|
27460
|
+
this._loop = false;
|
|
27461
|
+
return error(
|
|
27601
27462
|
RangeError,
|
|
27602
27463
|
"RSV1 must be clear",
|
|
27603
27464
|
true,
|
|
27604
27465
|
1002,
|
|
27605
27466
|
"WS_ERR_UNEXPECTED_RSV_1"
|
|
27606
27467
|
);
|
|
27607
|
-
cb(error);
|
|
27608
|
-
return;
|
|
27609
27468
|
}
|
|
27610
27469
|
if (!this._fragmented) {
|
|
27611
|
-
|
|
27470
|
+
this._loop = false;
|
|
27471
|
+
return error(
|
|
27612
27472
|
RangeError,
|
|
27613
27473
|
"invalid opcode 0",
|
|
27614
27474
|
true,
|
|
27615
27475
|
1002,
|
|
27616
27476
|
"WS_ERR_INVALID_OPCODE"
|
|
27617
27477
|
);
|
|
27618
|
-
cb(error);
|
|
27619
|
-
return;
|
|
27620
27478
|
}
|
|
27621
27479
|
this._opcode = this._fragmented;
|
|
27622
27480
|
} else if (this._opcode === 1 || this._opcode === 2) {
|
|
27623
27481
|
if (this._fragmented) {
|
|
27624
|
-
|
|
27482
|
+
this._loop = false;
|
|
27483
|
+
return error(
|
|
27625
27484
|
RangeError,
|
|
27626
27485
|
`invalid opcode ${this._opcode}`,
|
|
27627
27486
|
true,
|
|
27628
27487
|
1002,
|
|
27629
27488
|
"WS_ERR_INVALID_OPCODE"
|
|
27630
27489
|
);
|
|
27631
|
-
cb(error);
|
|
27632
|
-
return;
|
|
27633
27490
|
}
|
|
27634
27491
|
this._compressed = compressed;
|
|
27635
27492
|
} else if (this._opcode > 7 && this._opcode < 11) {
|
|
27636
27493
|
if (!this._fin) {
|
|
27637
|
-
|
|
27494
|
+
this._loop = false;
|
|
27495
|
+
return error(
|
|
27638
27496
|
RangeError,
|
|
27639
27497
|
"FIN must be set",
|
|
27640
27498
|
true,
|
|
27641
27499
|
1002,
|
|
27642
27500
|
"WS_ERR_EXPECTED_FIN"
|
|
27643
27501
|
);
|
|
27644
|
-
cb(error);
|
|
27645
|
-
return;
|
|
27646
27502
|
}
|
|
27647
27503
|
if (compressed) {
|
|
27648
|
-
|
|
27504
|
+
this._loop = false;
|
|
27505
|
+
return error(
|
|
27649
27506
|
RangeError,
|
|
27650
27507
|
"RSV1 must be clear",
|
|
27651
27508
|
true,
|
|
27652
27509
|
1002,
|
|
27653
27510
|
"WS_ERR_UNEXPECTED_RSV_1"
|
|
27654
27511
|
);
|
|
27655
|
-
cb(error);
|
|
27656
|
-
return;
|
|
27657
27512
|
}
|
|
27658
|
-
if (this._payloadLength > 125
|
|
27659
|
-
|
|
27513
|
+
if (this._payloadLength > 125) {
|
|
27514
|
+
this._loop = false;
|
|
27515
|
+
return error(
|
|
27660
27516
|
RangeError,
|
|
27661
27517
|
`invalid payload length ${this._payloadLength}`,
|
|
27662
27518
|
true,
|
|
27663
27519
|
1002,
|
|
27664
27520
|
"WS_ERR_INVALID_CONTROL_PAYLOAD_LENGTH"
|
|
27665
27521
|
);
|
|
27666
|
-
cb(error);
|
|
27667
|
-
return;
|
|
27668
27522
|
}
|
|
27669
27523
|
} else {
|
|
27670
|
-
|
|
27524
|
+
this._loop = false;
|
|
27525
|
+
return error(
|
|
27671
27526
|
RangeError,
|
|
27672
27527
|
`invalid opcode ${this._opcode}`,
|
|
27673
27528
|
true,
|
|
27674
27529
|
1002,
|
|
27675
27530
|
"WS_ERR_INVALID_OPCODE"
|
|
27676
27531
|
);
|
|
27677
|
-
cb(error);
|
|
27678
|
-
return;
|
|
27679
27532
|
}
|
|
27680
27533
|
if (!this._fin && !this._fragmented) this._fragmented = this._opcode;
|
|
27681
27534
|
this._masked = (buf[1] & 128) === 128;
|
|
27682
27535
|
if (this._isServer) {
|
|
27683
27536
|
if (!this._masked) {
|
|
27684
|
-
|
|
27537
|
+
this._loop = false;
|
|
27538
|
+
return error(
|
|
27685
27539
|
RangeError,
|
|
27686
27540
|
"MASK must be set",
|
|
27687
27541
|
true,
|
|
27688
27542
|
1002,
|
|
27689
27543
|
"WS_ERR_EXPECTED_MASK"
|
|
27690
27544
|
);
|
|
27691
|
-
cb(error);
|
|
27692
|
-
return;
|
|
27693
27545
|
}
|
|
27694
27546
|
} else if (this._masked) {
|
|
27695
|
-
|
|
27547
|
+
this._loop = false;
|
|
27548
|
+
return error(
|
|
27696
27549
|
RangeError,
|
|
27697
27550
|
"MASK must be clear",
|
|
27698
27551
|
true,
|
|
27699
27552
|
1002,
|
|
27700
27553
|
"WS_ERR_UNEXPECTED_MASK"
|
|
27701
27554
|
);
|
|
27702
|
-
cb(error);
|
|
27703
|
-
return;
|
|
27704
27555
|
}
|
|
27705
27556
|
if (this._payloadLength === 126) this._state = GET_PAYLOAD_LENGTH_16;
|
|
27706
27557
|
else if (this._payloadLength === 127) this._state = GET_PAYLOAD_LENGTH_64;
|
|
27707
|
-
else this.haveLength(
|
|
27558
|
+
else return this.haveLength();
|
|
27708
27559
|
}
|
|
27709
27560
|
/**
|
|
27710
27561
|
* Gets extended payload length (7+16).
|
|
27711
27562
|
*
|
|
27712
|
-
* @
|
|
27563
|
+
* @return {(RangeError|undefined)} A possible error
|
|
27713
27564
|
* @private
|
|
27714
27565
|
*/
|
|
27715
|
-
getPayloadLength16(
|
|
27566
|
+
getPayloadLength16() {
|
|
27716
27567
|
if (this._bufferedBytes < 2) {
|
|
27717
27568
|
this._loop = false;
|
|
27718
27569
|
return;
|
|
27719
27570
|
}
|
|
27720
27571
|
this._payloadLength = this.consume(2).readUInt16BE(0);
|
|
27721
|
-
this.haveLength(
|
|
27572
|
+
return this.haveLength();
|
|
27722
27573
|
}
|
|
27723
27574
|
/**
|
|
27724
27575
|
* Gets extended payload length (7+64).
|
|
27725
27576
|
*
|
|
27726
|
-
* @
|
|
27577
|
+
* @return {(RangeError|undefined)} A possible error
|
|
27727
27578
|
* @private
|
|
27728
27579
|
*/
|
|
27729
|
-
getPayloadLength64(
|
|
27580
|
+
getPayloadLength64() {
|
|
27730
27581
|
if (this._bufferedBytes < 8) {
|
|
27731
27582
|
this._loop = false;
|
|
27732
27583
|
return;
|
|
@@ -27734,38 +27585,36 @@ var require_receiver3 = __commonJS({
|
|
|
27734
27585
|
const buf = this.consume(8);
|
|
27735
27586
|
const num = buf.readUInt32BE(0);
|
|
27736
27587
|
if (num > Math.pow(2, 53 - 32) - 1) {
|
|
27737
|
-
|
|
27588
|
+
this._loop = false;
|
|
27589
|
+
return error(
|
|
27738
27590
|
RangeError,
|
|
27739
27591
|
"Unsupported WebSocket frame: payload length > 2^53 - 1",
|
|
27740
27592
|
false,
|
|
27741
27593
|
1009,
|
|
27742
27594
|
"WS_ERR_UNSUPPORTED_DATA_PAYLOAD_LENGTH"
|
|
27743
27595
|
);
|
|
27744
|
-
cb(error);
|
|
27745
|
-
return;
|
|
27746
27596
|
}
|
|
27747
27597
|
this._payloadLength = num * Math.pow(2, 32) + buf.readUInt32BE(4);
|
|
27748
|
-
this.haveLength(
|
|
27598
|
+
return this.haveLength();
|
|
27749
27599
|
}
|
|
27750
27600
|
/**
|
|
27751
27601
|
* Payload length has been read.
|
|
27752
27602
|
*
|
|
27753
|
-
* @
|
|
27603
|
+
* @return {(RangeError|undefined)} A possible error
|
|
27754
27604
|
* @private
|
|
27755
27605
|
*/
|
|
27756
|
-
haveLength(
|
|
27606
|
+
haveLength() {
|
|
27757
27607
|
if (this._payloadLength && this._opcode < 8) {
|
|
27758
27608
|
this._totalPayloadLength += this._payloadLength;
|
|
27759
27609
|
if (this._totalPayloadLength > this._maxPayload && this._maxPayload > 0) {
|
|
27760
|
-
|
|
27610
|
+
this._loop = false;
|
|
27611
|
+
return error(
|
|
27761
27612
|
RangeError,
|
|
27762
27613
|
"Max payload size exceeded",
|
|
27763
27614
|
false,
|
|
27764
27615
|
1009,
|
|
27765
27616
|
"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH"
|
|
27766
27617
|
);
|
|
27767
|
-
cb(error);
|
|
27768
|
-
return;
|
|
27769
27618
|
}
|
|
27770
27619
|
}
|
|
27771
27620
|
if (this._masked) this._state = GET_MASK;
|
|
@@ -27788,6 +27637,7 @@ var require_receiver3 = __commonJS({
|
|
|
27788
27637
|
* Reads data bytes.
|
|
27789
27638
|
*
|
|
27790
27639
|
* @param {Function} cb Callback
|
|
27640
|
+
* @return {(Error|RangeError|undefined)} A possible error
|
|
27791
27641
|
* @private
|
|
27792
27642
|
*/
|
|
27793
27643
|
getData(cb) {
|
|
@@ -27802,10 +27652,7 @@ var require_receiver3 = __commonJS({
|
|
|
27802
27652
|
unmask(data, this._mask);
|
|
27803
27653
|
}
|
|
27804
27654
|
}
|
|
27805
|
-
if (this._opcode > 7)
|
|
27806
|
-
this.controlMessage(data, cb);
|
|
27807
|
-
return;
|
|
27808
|
-
}
|
|
27655
|
+
if (this._opcode > 7) return this.controlMessage(data);
|
|
27809
27656
|
if (this._compressed) {
|
|
27810
27657
|
this._state = INFLATING;
|
|
27811
27658
|
this.decompress(data, cb);
|
|
@@ -27815,7 +27662,7 @@ var require_receiver3 = __commonJS({
|
|
|
27815
27662
|
this._messageLength = this._totalPayloadLength;
|
|
27816
27663
|
this._fragments.push(data);
|
|
27817
27664
|
}
|
|
27818
|
-
this.dataMessage(
|
|
27665
|
+
return this.dataMessage();
|
|
27819
27666
|
}
|
|
27820
27667
|
/**
|
|
27821
27668
|
* Decompresses data.
|
|
@@ -27831,84 +27678,63 @@ var require_receiver3 = __commonJS({
|
|
|
27831
27678
|
if (buf.length) {
|
|
27832
27679
|
this._messageLength += buf.length;
|
|
27833
27680
|
if (this._messageLength > this._maxPayload && this._maxPayload > 0) {
|
|
27834
|
-
|
|
27835
|
-
|
|
27836
|
-
|
|
27837
|
-
|
|
27838
|
-
|
|
27839
|
-
|
|
27681
|
+
return cb(
|
|
27682
|
+
error(
|
|
27683
|
+
RangeError,
|
|
27684
|
+
"Max payload size exceeded",
|
|
27685
|
+
false,
|
|
27686
|
+
1009,
|
|
27687
|
+
"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH"
|
|
27688
|
+
)
|
|
27840
27689
|
);
|
|
27841
|
-
cb(error);
|
|
27842
|
-
return;
|
|
27843
27690
|
}
|
|
27844
27691
|
this._fragments.push(buf);
|
|
27845
27692
|
}
|
|
27846
|
-
this.dataMessage(
|
|
27847
|
-
if (
|
|
27693
|
+
const er = this.dataMessage();
|
|
27694
|
+
if (er) return cb(er);
|
|
27695
|
+
this.startLoop(cb);
|
|
27848
27696
|
});
|
|
27849
27697
|
}
|
|
27850
27698
|
/**
|
|
27851
27699
|
* Handles a data message.
|
|
27852
27700
|
*
|
|
27853
|
-
* @
|
|
27701
|
+
* @return {(Error|undefined)} A possible error
|
|
27854
27702
|
* @private
|
|
27855
27703
|
*/
|
|
27856
|
-
dataMessage(
|
|
27857
|
-
if (
|
|
27858
|
-
|
|
27859
|
-
|
|
27860
|
-
|
|
27861
|
-
|
|
27862
|
-
|
|
27863
|
-
|
|
27864
|
-
|
|
27865
|
-
|
|
27866
|
-
|
|
27867
|
-
|
|
27868
|
-
|
|
27869
|
-
|
|
27870
|
-
|
|
27871
|
-
|
|
27872
|
-
|
|
27873
|
-
} else {
|
|
27874
|
-
data = fragments;
|
|
27875
|
-
}
|
|
27876
|
-
if (this._allowSynchronousEvents) {
|
|
27704
|
+
dataMessage() {
|
|
27705
|
+
if (this._fin) {
|
|
27706
|
+
const messageLength = this._messageLength;
|
|
27707
|
+
const fragments = this._fragments;
|
|
27708
|
+
this._totalPayloadLength = 0;
|
|
27709
|
+
this._messageLength = 0;
|
|
27710
|
+
this._fragmented = 0;
|
|
27711
|
+
this._fragments = [];
|
|
27712
|
+
if (this._opcode === 2) {
|
|
27713
|
+
let data;
|
|
27714
|
+
if (this._binaryType === "nodebuffer") {
|
|
27715
|
+
data = concat(fragments, messageLength);
|
|
27716
|
+
} else if (this._binaryType === "arraybuffer") {
|
|
27717
|
+
data = toArrayBuffer(concat(fragments, messageLength));
|
|
27718
|
+
} else {
|
|
27719
|
+
data = fragments;
|
|
27720
|
+
}
|
|
27877
27721
|
this.emit("message", data, true);
|
|
27878
|
-
this._state = GET_INFO;
|
|
27879
27722
|
} else {
|
|
27880
|
-
|
|
27881
|
-
|
|
27882
|
-
this.
|
|
27883
|
-
|
|
27884
|
-
|
|
27885
|
-
|
|
27886
|
-
|
|
27887
|
-
|
|
27888
|
-
|
|
27889
|
-
|
|
27890
|
-
|
|
27891
|
-
Error,
|
|
27892
|
-
"invalid UTF-8 sequence",
|
|
27893
|
-
true,
|
|
27894
|
-
1007,
|
|
27895
|
-
"WS_ERR_INVALID_UTF8"
|
|
27896
|
-
);
|
|
27897
|
-
cb(error);
|
|
27898
|
-
return;
|
|
27899
|
-
}
|
|
27900
|
-
if (this._state === INFLATING || this._allowSynchronousEvents) {
|
|
27723
|
+
const buf = concat(fragments, messageLength);
|
|
27724
|
+
if (!this._skipUTF8Validation && !isValidUTF8(buf)) {
|
|
27725
|
+
this._loop = false;
|
|
27726
|
+
return error(
|
|
27727
|
+
Error,
|
|
27728
|
+
"invalid UTF-8 sequence",
|
|
27729
|
+
true,
|
|
27730
|
+
1007,
|
|
27731
|
+
"WS_ERR_INVALID_UTF8"
|
|
27732
|
+
);
|
|
27733
|
+
}
|
|
27901
27734
|
this.emit("message", buf, false);
|
|
27902
|
-
this._state = GET_INFO;
|
|
27903
|
-
} else {
|
|
27904
|
-
this._state = DEFER_EVENT;
|
|
27905
|
-
setImmediate(() => {
|
|
27906
|
-
this.emit("message", buf, false);
|
|
27907
|
-
this._state = GET_INFO;
|
|
27908
|
-
this.startLoop(cb);
|
|
27909
|
-
});
|
|
27910
27735
|
}
|
|
27911
27736
|
}
|
|
27737
|
+
this._state = GET_INFO;
|
|
27912
27738
|
}
|
|
27913
27739
|
/**
|
|
27914
27740
|
* Handles a control message.
|
|
@@ -27917,85 +27743,62 @@ var require_receiver3 = __commonJS({
|
|
|
27917
27743
|
* @return {(Error|RangeError|undefined)} A possible error
|
|
27918
27744
|
* @private
|
|
27919
27745
|
*/
|
|
27920
|
-
controlMessage(data
|
|
27746
|
+
controlMessage(data) {
|
|
27921
27747
|
if (this._opcode === 8) {
|
|
27748
|
+
this._loop = false;
|
|
27922
27749
|
if (data.length === 0) {
|
|
27923
|
-
this._loop = false;
|
|
27924
27750
|
this.emit("conclude", 1005, EMPTY_BUFFER);
|
|
27925
27751
|
this.end();
|
|
27752
|
+
} else if (data.length === 1) {
|
|
27753
|
+
return error(
|
|
27754
|
+
RangeError,
|
|
27755
|
+
"invalid payload length 1",
|
|
27756
|
+
true,
|
|
27757
|
+
1002,
|
|
27758
|
+
"WS_ERR_INVALID_CONTROL_PAYLOAD_LENGTH"
|
|
27759
|
+
);
|
|
27926
27760
|
} else {
|
|
27927
27761
|
const code = data.readUInt16BE(0);
|
|
27928
27762
|
if (!isValidStatusCode(code)) {
|
|
27929
|
-
|
|
27763
|
+
return error(
|
|
27930
27764
|
RangeError,
|
|
27931
27765
|
`invalid status code ${code}`,
|
|
27932
27766
|
true,
|
|
27933
27767
|
1002,
|
|
27934
27768
|
"WS_ERR_INVALID_CLOSE_CODE"
|
|
27935
27769
|
);
|
|
27936
|
-
cb(error);
|
|
27937
|
-
return;
|
|
27938
27770
|
}
|
|
27939
|
-
const buf =
|
|
27940
|
-
data.buffer,
|
|
27941
|
-
data.byteOffset + 2,
|
|
27942
|
-
data.length - 2
|
|
27943
|
-
);
|
|
27771
|
+
const buf = data.slice(2);
|
|
27944
27772
|
if (!this._skipUTF8Validation && !isValidUTF8(buf)) {
|
|
27945
|
-
|
|
27773
|
+
return error(
|
|
27946
27774
|
Error,
|
|
27947
27775
|
"invalid UTF-8 sequence",
|
|
27948
27776
|
true,
|
|
27949
27777
|
1007,
|
|
27950
27778
|
"WS_ERR_INVALID_UTF8"
|
|
27951
27779
|
);
|
|
27952
|
-
cb(error);
|
|
27953
|
-
return;
|
|
27954
27780
|
}
|
|
27955
|
-
this._loop = false;
|
|
27956
27781
|
this.emit("conclude", code, buf);
|
|
27957
27782
|
this.end();
|
|
27958
27783
|
}
|
|
27959
|
-
|
|
27960
|
-
|
|
27961
|
-
}
|
|
27962
|
-
if (this._allowSynchronousEvents) {
|
|
27963
|
-
this.emit(this._opcode === 9 ? "ping" : "pong", data);
|
|
27964
|
-
this._state = GET_INFO;
|
|
27784
|
+
} else if (this._opcode === 9) {
|
|
27785
|
+
this.emit("ping", data);
|
|
27965
27786
|
} else {
|
|
27966
|
-
this.
|
|
27967
|
-
setImmediate(() => {
|
|
27968
|
-
this.emit(this._opcode === 9 ? "ping" : "pong", data);
|
|
27969
|
-
this._state = GET_INFO;
|
|
27970
|
-
this.startLoop(cb);
|
|
27971
|
-
});
|
|
27787
|
+
this.emit("pong", data);
|
|
27972
27788
|
}
|
|
27973
|
-
|
|
27974
|
-
/**
|
|
27975
|
-
* Builds an error object.
|
|
27976
|
-
*
|
|
27977
|
-
* @param {function(new:Error|RangeError)} ErrorCtor The error constructor
|
|
27978
|
-
* @param {String} message The error message
|
|
27979
|
-
* @param {Boolean} prefix Specifies whether or not to add a default prefix to
|
|
27980
|
-
* `message`
|
|
27981
|
-
* @param {Number} statusCode The status code
|
|
27982
|
-
* @param {String} errorCode The exposed error code
|
|
27983
|
-
* @return {(Error|RangeError)} The error
|
|
27984
|
-
* @private
|
|
27985
|
-
*/
|
|
27986
|
-
createError(ErrorCtor, message, prefix, statusCode, errorCode) {
|
|
27987
|
-
this._loop = false;
|
|
27988
|
-
this._errored = true;
|
|
27989
|
-
const err = new ErrorCtor(
|
|
27990
|
-
prefix ? `Invalid WebSocket frame: ${message}` : message
|
|
27991
|
-
);
|
|
27992
|
-
Error.captureStackTrace(err, this.createError);
|
|
27993
|
-
err.code = errorCode;
|
|
27994
|
-
err[kStatusCode] = statusCode;
|
|
27995
|
-
return err;
|
|
27789
|
+
this._state = GET_INFO;
|
|
27996
27790
|
}
|
|
27997
27791
|
};
|
|
27998
27792
|
module.exports = Receiver2;
|
|
27793
|
+
function error(ErrorCtor, message, prefix, statusCode, errorCode) {
|
|
27794
|
+
const err = new ErrorCtor(
|
|
27795
|
+
prefix ? `Invalid WebSocket frame: ${message}` : message
|
|
27796
|
+
);
|
|
27797
|
+
Error.captureStackTrace(err, error);
|
|
27798
|
+
err.code = errorCode;
|
|
27799
|
+
err[kStatusCode] = statusCode;
|
|
27800
|
+
return err;
|
|
27801
|
+
}
|
|
27999
27802
|
}
|
|
28000
27803
|
});
|
|
28001
27804
|
|
|
@@ -28004,7 +27807,8 @@ var require_sender3 = __commonJS({
|
|
|
28004
27807
|
"../../node_modules/engine.io-client/node_modules/ws/lib/sender.js"(exports, module) {
|
|
28005
27808
|
"use strict";
|
|
28006
27809
|
init_esm_shims();
|
|
28007
|
-
var
|
|
27810
|
+
var net = __require("net");
|
|
27811
|
+
var tls = __require("tls");
|
|
28008
27812
|
var { randomFillSync } = __require("crypto");
|
|
28009
27813
|
var PerMessageDeflate = require_permessage_deflate3();
|
|
28010
27814
|
var { EMPTY_BUFFER } = require_constants3();
|
|
@@ -28012,14 +27816,11 @@ var require_sender3 = __commonJS({
|
|
|
28012
27816
|
var { mask: applyMask, toBuffer: toBuffer2 } = require_buffer_util3();
|
|
28013
27817
|
var kByteLength = Symbol("kByteLength");
|
|
28014
27818
|
var maskBuffer = Buffer.alloc(4);
|
|
28015
|
-
var RANDOM_POOL_SIZE = 8 * 1024;
|
|
28016
|
-
var randomPool;
|
|
28017
|
-
var randomPoolPointer = RANDOM_POOL_SIZE;
|
|
28018
27819
|
var Sender2 = class _Sender {
|
|
28019
27820
|
/**
|
|
28020
27821
|
* Creates a Sender instance.
|
|
28021
27822
|
*
|
|
28022
|
-
* @param {
|
|
27823
|
+
* @param {(net.Socket|tls.Socket)} socket The connection socket
|
|
28023
27824
|
* @param {Object} [extensions] An object containing the negotiated extensions
|
|
28024
27825
|
* @param {Function} [generateMask] The function used to generate the masking
|
|
28025
27826
|
* key
|
|
@@ -28068,17 +27869,7 @@ var require_sender3 = __commonJS({
|
|
|
28068
27869
|
if (options.generateMask) {
|
|
28069
27870
|
options.generateMask(mask);
|
|
28070
27871
|
} else {
|
|
28071
|
-
|
|
28072
|
-
if (randomPool === void 0) {
|
|
28073
|
-
randomPool = Buffer.alloc(RANDOM_POOL_SIZE);
|
|
28074
|
-
}
|
|
28075
|
-
randomFillSync(randomPool, 0, RANDOM_POOL_SIZE);
|
|
28076
|
-
randomPoolPointer = 0;
|
|
28077
|
-
}
|
|
28078
|
-
mask[0] = randomPool[randomPoolPointer++];
|
|
28079
|
-
mask[1] = randomPool[randomPoolPointer++];
|
|
28080
|
-
mask[2] = randomPool[randomPoolPointer++];
|
|
28081
|
-
mask[3] = randomPool[randomPoolPointer++];
|
|
27872
|
+
randomFillSync(mask, 0, 4);
|
|
28082
27873
|
}
|
|
28083
27874
|
skipMasking = (mask[0] | mask[1] | mask[2] | mask[3]) === 0;
|
|
28084
27875
|
offset = 6;
|
|
@@ -28813,7 +28604,7 @@ var require_websocket5 = __commonJS({
|
|
|
28813
28604
|
var net = __require("net");
|
|
28814
28605
|
var tls = __require("tls");
|
|
28815
28606
|
var { randomBytes, createHash } = __require("crypto");
|
|
28816
|
-
var {
|
|
28607
|
+
var { Readable } = __require("stream");
|
|
28817
28608
|
var { URL: URL2 } = __require("url");
|
|
28818
28609
|
var PerMessageDeflate = require_permessage_deflate3();
|
|
28819
28610
|
var Receiver2 = require_receiver3();
|
|
@@ -28877,7 +28668,6 @@ var require_websocket5 = __commonJS({
|
|
|
28877
28668
|
}
|
|
28878
28669
|
initAsClient(this, address, protocols, options);
|
|
28879
28670
|
} else {
|
|
28880
|
-
this._autoPong = options.autoPong;
|
|
28881
28671
|
this._isServer = true;
|
|
28882
28672
|
}
|
|
28883
28673
|
}
|
|
@@ -28964,12 +28754,10 @@ var require_websocket5 = __commonJS({
|
|
|
28964
28754
|
/**
|
|
28965
28755
|
* Set up the socket and the internal resources.
|
|
28966
28756
|
*
|
|
28967
|
-
* @param {
|
|
28757
|
+
* @param {(net.Socket|tls.Socket)} socket The network socket between the
|
|
28758
|
+
* server and client
|
|
28968
28759
|
* @param {Buffer} head The first packet of the upgraded stream
|
|
28969
28760
|
* @param {Object} options Options object
|
|
28970
|
-
* @param {Boolean} [options.allowSynchronousEvents=false] Specifies whether
|
|
28971
|
-
* any of the `'message'`, `'ping'`, and `'pong'` events can be emitted
|
|
28972
|
-
* multiple times in the same tick
|
|
28973
28761
|
* @param {Function} [options.generateMask] The function used to generate the
|
|
28974
28762
|
* masking key
|
|
28975
28763
|
* @param {Number} [options.maxPayload=0] The maximum allowed message size
|
|
@@ -28979,7 +28767,6 @@ var require_websocket5 = __commonJS({
|
|
|
28979
28767
|
*/
|
|
28980
28768
|
setSocket(socket, head, options) {
|
|
28981
28769
|
const receiver = new Receiver2({
|
|
28982
|
-
allowSynchronousEvents: options.allowSynchronousEvents,
|
|
28983
28770
|
binaryType: this.binaryType,
|
|
28984
28771
|
extensions: this._extensions,
|
|
28985
28772
|
isServer: this._isServer,
|
|
@@ -28997,8 +28784,8 @@ var require_websocket5 = __commonJS({
|
|
|
28997
28784
|
receiver.on("message", receiverOnMessage);
|
|
28998
28785
|
receiver.on("ping", receiverOnPing);
|
|
28999
28786
|
receiver.on("pong", receiverOnPong);
|
|
29000
|
-
|
|
29001
|
-
|
|
28787
|
+
socket.setTimeout(0);
|
|
28788
|
+
socket.setNoDelay();
|
|
29002
28789
|
if (head.length > 0) socket.unshift(head);
|
|
29003
28790
|
socket.on("close", socketOnClose);
|
|
29004
28791
|
socket.on("data", socketOnData);
|
|
@@ -29049,8 +28836,7 @@ var require_websocket5 = __commonJS({
|
|
|
29049
28836
|
if (this.readyState === _WebSocket.CLOSED) return;
|
|
29050
28837
|
if (this.readyState === _WebSocket.CONNECTING) {
|
|
29051
28838
|
const msg = "WebSocket was closed before the connection was established";
|
|
29052
|
-
abortHandshake(this, this._req, msg);
|
|
29053
|
-
return;
|
|
28839
|
+
return abortHandshake(this, this._req, msg);
|
|
29054
28840
|
}
|
|
29055
28841
|
if (this.readyState === _WebSocket.CLOSING) {
|
|
29056
28842
|
if (this._closeFrameSent && (this._closeFrameReceived || this._receiver._writableState.errorEmitted)) {
|
|
@@ -29198,8 +28984,7 @@ var require_websocket5 = __commonJS({
|
|
|
29198
28984
|
if (this.readyState === _WebSocket.CLOSED) return;
|
|
29199
28985
|
if (this.readyState === _WebSocket.CONNECTING) {
|
|
29200
28986
|
const msg = "WebSocket was closed before the connection was established";
|
|
29201
|
-
abortHandshake(this, this._req, msg);
|
|
29202
|
-
return;
|
|
28987
|
+
return abortHandshake(this, this._req, msg);
|
|
29203
28988
|
}
|
|
29204
28989
|
if (this._socket) {
|
|
29205
28990
|
this._readyState = _WebSocket.CLOSING;
|
|
@@ -29278,8 +29063,6 @@ var require_websocket5 = __commonJS({
|
|
|
29278
29063
|
module.exports = WebSocket3;
|
|
29279
29064
|
function initAsClient(websocket, address, protocols, options) {
|
|
29280
29065
|
const opts = {
|
|
29281
|
-
allowSynchronousEvents: true,
|
|
29282
|
-
autoPong: true,
|
|
29283
29066
|
protocolVersion: protocolVersions[1],
|
|
29284
29067
|
maxPayload: 100 * 1024 * 1024,
|
|
29285
29068
|
skipUTF8Validation: false,
|
|
@@ -29287,6 +29070,7 @@ var require_websocket5 = __commonJS({
|
|
|
29287
29070
|
followRedirects: false,
|
|
29288
29071
|
maxRedirects: 10,
|
|
29289
29072
|
...options,
|
|
29073
|
+
createConnection: void 0,
|
|
29290
29074
|
socketPath: void 0,
|
|
29291
29075
|
hostname: void 0,
|
|
29292
29076
|
protocol: void 0,
|
|
@@ -29296,7 +29080,6 @@ var require_websocket5 = __commonJS({
|
|
|
29296
29080
|
path: void 0,
|
|
29297
29081
|
port: void 0
|
|
29298
29082
|
};
|
|
29299
|
-
websocket._autoPong = opts.autoPong;
|
|
29300
29083
|
if (!protocolVersions.includes(opts.protocolVersion)) {
|
|
29301
29084
|
throw new RangeError(
|
|
29302
29085
|
`Unsupported protocol version: ${opts.protocolVersion} (supported versions: ${protocolVersions.join(", ")})`
|
|
@@ -29305,24 +29088,20 @@ var require_websocket5 = __commonJS({
|
|
|
29305
29088
|
let parsedUrl;
|
|
29306
29089
|
if (address instanceof URL2) {
|
|
29307
29090
|
parsedUrl = address;
|
|
29091
|
+
websocket._url = address.href;
|
|
29308
29092
|
} else {
|
|
29309
29093
|
try {
|
|
29310
29094
|
parsedUrl = new URL2(address);
|
|
29311
29095
|
} catch (e) {
|
|
29312
29096
|
throw new SyntaxError(`Invalid URL: ${address}`);
|
|
29313
29097
|
}
|
|
29098
|
+
websocket._url = address;
|
|
29314
29099
|
}
|
|
29315
|
-
if (parsedUrl.protocol === "http:") {
|
|
29316
|
-
parsedUrl.protocol = "ws:";
|
|
29317
|
-
} else if (parsedUrl.protocol === "https:") {
|
|
29318
|
-
parsedUrl.protocol = "wss:";
|
|
29319
|
-
}
|
|
29320
|
-
websocket._url = parsedUrl.href;
|
|
29321
29100
|
const isSecure = parsedUrl.protocol === "wss:";
|
|
29322
29101
|
const isIpcUrl = parsedUrl.protocol === "ws+unix:";
|
|
29323
29102
|
let invalidUrlMessage;
|
|
29324
29103
|
if (parsedUrl.protocol !== "ws:" && !isSecure && !isIpcUrl) {
|
|
29325
|
-
invalidUrlMessage = `The URL's protocol must be one of "ws:", "wss:",
|
|
29104
|
+
invalidUrlMessage = `The URL's protocol must be one of "ws:", "wss:", or "ws+unix:"`;
|
|
29326
29105
|
} else if (isIpcUrl && !parsedUrl.pathname) {
|
|
29327
29106
|
invalidUrlMessage = "The URL's pathname is empty";
|
|
29328
29107
|
} else if (parsedUrl.hash) {
|
|
@@ -29342,7 +29121,7 @@ var require_websocket5 = __commonJS({
|
|
|
29342
29121
|
const request = isSecure ? https.request : http.request;
|
|
29343
29122
|
const protocolSet = /* @__PURE__ */ new Set();
|
|
29344
29123
|
let perMessageDeflate;
|
|
29345
|
-
opts.createConnection =
|
|
29124
|
+
opts.createConnection = isSecure ? tlsConnect : netConnect;
|
|
29346
29125
|
opts.defaultPort = opts.defaultPort || defaultPort;
|
|
29347
29126
|
opts.port = parsedUrl.port || defaultPort;
|
|
29348
29127
|
opts.host = parsedUrl.hostname.startsWith("[") ? parsedUrl.hostname.slice(1, -1) : parsedUrl.hostname;
|
|
@@ -29463,8 +29242,7 @@ var require_websocket5 = __commonJS({
|
|
|
29463
29242
|
websocket.emit("upgrade", res);
|
|
29464
29243
|
if (websocket.readyState !== WebSocket3.CONNECTING) return;
|
|
29465
29244
|
req = websocket._req = null;
|
|
29466
|
-
|
|
29467
|
-
if (upgrade === void 0 || upgrade.toLowerCase() !== "websocket") {
|
|
29245
|
+
if (res.headers.upgrade.toLowerCase() !== "websocket") {
|
|
29468
29246
|
abortHandshake(websocket, socket, "Invalid Upgrade header");
|
|
29469
29247
|
return;
|
|
29470
29248
|
}
|
|
@@ -29520,17 +29298,12 @@ var require_websocket5 = __commonJS({
|
|
|
29520
29298
|
websocket._extensions[PerMessageDeflate.extensionName] = perMessageDeflate;
|
|
29521
29299
|
}
|
|
29522
29300
|
websocket.setSocket(socket, head, {
|
|
29523
|
-
allowSynchronousEvents: opts.allowSynchronousEvents,
|
|
29524
29301
|
generateMask: opts.generateMask,
|
|
29525
29302
|
maxPayload: opts.maxPayload,
|
|
29526
29303
|
skipUTF8Validation: opts.skipUTF8Validation
|
|
29527
29304
|
});
|
|
29528
29305
|
});
|
|
29529
|
-
|
|
29530
|
-
opts.finishRequest(req, websocket);
|
|
29531
|
-
} else {
|
|
29532
|
-
req.end();
|
|
29533
|
-
}
|
|
29306
|
+
req.end();
|
|
29534
29307
|
}
|
|
29535
29308
|
function emitErrorAndClose(websocket, err) {
|
|
29536
29309
|
websocket._readyState = WebSocket3.CLOSING;
|
|
@@ -29575,7 +29348,7 @@ var require_websocket5 = __commonJS({
|
|
|
29575
29348
|
const err = new Error(
|
|
29576
29349
|
`WebSocket is not open: readyState ${websocket.readyState} (${readyStates[websocket.readyState]})`
|
|
29577
29350
|
);
|
|
29578
|
-
|
|
29351
|
+
cb(err);
|
|
29579
29352
|
}
|
|
29580
29353
|
}
|
|
29581
29354
|
function receiverOnConclude(code, reason) {
|
|
@@ -29610,7 +29383,7 @@ var require_websocket5 = __commonJS({
|
|
|
29610
29383
|
}
|
|
29611
29384
|
function receiverOnPing(data) {
|
|
29612
29385
|
const websocket = this[kWebSocket];
|
|
29613
|
-
|
|
29386
|
+
websocket.pong(data, !websocket._isServer, NOOP);
|
|
29614
29387
|
websocket.emit("ping", data);
|
|
29615
29388
|
}
|
|
29616
29389
|
function receiverOnPong(data) {
|
|
@@ -29715,7 +29488,9 @@ var require_websocket_server3 = __commonJS({
|
|
|
29715
29488
|
init_esm_shims();
|
|
29716
29489
|
var EventEmitter = __require("events");
|
|
29717
29490
|
var http = __require("http");
|
|
29718
|
-
var
|
|
29491
|
+
var https = __require("https");
|
|
29492
|
+
var net = __require("net");
|
|
29493
|
+
var tls = __require("tls");
|
|
29719
29494
|
var { createHash } = __require("crypto");
|
|
29720
29495
|
var extension = require_extension3();
|
|
29721
29496
|
var PerMessageDeflate = require_permessage_deflate3();
|
|
@@ -29731,11 +29506,6 @@ var require_websocket_server3 = __commonJS({
|
|
|
29731
29506
|
* Create a `WebSocketServer` instance.
|
|
29732
29507
|
*
|
|
29733
29508
|
* @param {Object} options Configuration options
|
|
29734
|
-
* @param {Boolean} [options.allowSynchronousEvents=true] Specifies whether
|
|
29735
|
-
* any of the `'message'`, `'ping'`, and `'pong'` events can be emitted
|
|
29736
|
-
* multiple times in the same tick
|
|
29737
|
-
* @param {Boolean} [options.autoPong=true] Specifies whether or not to
|
|
29738
|
-
* automatically send a pong in response to a ping
|
|
29739
29509
|
* @param {Number} [options.backlog=511] The maximum length of the queue of
|
|
29740
29510
|
* pending connections
|
|
29741
29511
|
* @param {Boolean} [options.clientTracking=true] Specifies whether or not to
|
|
@@ -29761,8 +29531,6 @@ var require_websocket_server3 = __commonJS({
|
|
|
29761
29531
|
constructor(options, callback) {
|
|
29762
29532
|
super();
|
|
29763
29533
|
options = {
|
|
29764
|
-
allowSynchronousEvents: true,
|
|
29765
|
-
autoPong: true,
|
|
29766
29534
|
maxPayload: 100 * 1024 * 1024,
|
|
29767
29535
|
skipUTF8Validation: false,
|
|
29768
29536
|
perMessageDeflate: false,
|
|
@@ -29898,7 +29666,8 @@ var require_websocket_server3 = __commonJS({
|
|
|
29898
29666
|
* Handle a HTTP Upgrade request.
|
|
29899
29667
|
*
|
|
29900
29668
|
* @param {http.IncomingMessage} req The request object
|
|
29901
|
-
* @param {
|
|
29669
|
+
* @param {(net.Socket|tls.Socket)} socket The network socket between the
|
|
29670
|
+
* server and client
|
|
29902
29671
|
* @param {Buffer} head The first packet of the upgraded stream
|
|
29903
29672
|
* @param {Function} cb Callback
|
|
29904
29673
|
* @public
|
|
@@ -29906,19 +29675,18 @@ var require_websocket_server3 = __commonJS({
|
|
|
29906
29675
|
handleUpgrade(req, socket, head, cb) {
|
|
29907
29676
|
socket.on("error", socketOnError);
|
|
29908
29677
|
const key = req.headers["sec-websocket-key"];
|
|
29909
|
-
const upgrade = req.headers.upgrade;
|
|
29910
29678
|
const version = +req.headers["sec-websocket-version"];
|
|
29911
29679
|
if (req.method !== "GET") {
|
|
29912
29680
|
const message = "Invalid HTTP method";
|
|
29913
29681
|
abortHandshakeOrEmitwsClientError(this, req, socket, 405, message);
|
|
29914
29682
|
return;
|
|
29915
29683
|
}
|
|
29916
|
-
if (upgrade
|
|
29684
|
+
if (req.headers.upgrade.toLowerCase() !== "websocket") {
|
|
29917
29685
|
const message = "Invalid Upgrade header";
|
|
29918
29686
|
abortHandshakeOrEmitwsClientError(this, req, socket, 400, message);
|
|
29919
29687
|
return;
|
|
29920
29688
|
}
|
|
29921
|
-
if (key
|
|
29689
|
+
if (!key || !keyRegex.test(key)) {
|
|
29922
29690
|
const message = "Missing or invalid Sec-WebSocket-Key header";
|
|
29923
29691
|
abortHandshakeOrEmitwsClientError(this, req, socket, 400, message);
|
|
29924
29692
|
return;
|
|
@@ -29997,7 +29765,8 @@ var require_websocket_server3 = __commonJS({
|
|
|
29997
29765
|
* @param {String} key The value of the `Sec-WebSocket-Key` header
|
|
29998
29766
|
* @param {Set} protocols The subprotocols
|
|
29999
29767
|
* @param {http.IncomingMessage} req The request object
|
|
30000
|
-
* @param {
|
|
29768
|
+
* @param {(net.Socket|tls.Socket)} socket The network socket between the
|
|
29769
|
+
* server and client
|
|
30001
29770
|
* @param {Buffer} head The first packet of the upgraded stream
|
|
30002
29771
|
* @param {Function} cb Callback
|
|
30003
29772
|
* @throws {Error} If called more than once with the same socket
|
|
@@ -30018,7 +29787,7 @@ var require_websocket_server3 = __commonJS({
|
|
|
30018
29787
|
"Connection: Upgrade",
|
|
30019
29788
|
`Sec-WebSocket-Accept: ${digest}`
|
|
30020
29789
|
];
|
|
30021
|
-
const ws = new this.options.WebSocket(null
|
|
29790
|
+
const ws = new this.options.WebSocket(null);
|
|
30022
29791
|
if (protocols.size) {
|
|
30023
29792
|
const protocol4 = this.options.handleProtocols ? this.options.handleProtocols(protocols, req) : protocols.values().next().value;
|
|
30024
29793
|
if (protocol4) {
|
|
@@ -30038,7 +29807,6 @@ var require_websocket_server3 = __commonJS({
|
|
|
30038
29807
|
socket.write(headers.concat("\r\n").join("\r\n"));
|
|
30039
29808
|
socket.removeListener("error", socketOnError);
|
|
30040
29809
|
ws.setSocket(socket, head, {
|
|
30041
|
-
allowSynchronousEvents: this.options.allowSynchronousEvents,
|
|
30042
29810
|
maxPayload: this.options.maxPayload,
|
|
30043
29811
|
skipUTF8Validation: this.options.skipUTF8Validation
|
|
30044
29812
|
});
|
|
@@ -36912,9 +36680,6 @@ var parts = [
|
|
|
36912
36680
|
"anchor"
|
|
36913
36681
|
];
|
|
36914
36682
|
function parse2(str) {
|
|
36915
|
-
if (str.length > 2e3) {
|
|
36916
|
-
throw "URI too long";
|
|
36917
|
-
}
|
|
36918
36683
|
const src = str, b = str.indexOf("["), e = str.indexOf("]");
|
|
36919
36684
|
if (b != -1 && e != -1) {
|
|
36920
36685
|
str = str.substring(0, b) + str.substring(b, e).replace(/:/g, ";") + str.substring(e, str.length);
|
|
@@ -61468,4 +61233,4 @@ fill-range/index.js:
|
|
|
61468
61233
|
* Licensed under the MIT License.
|
|
61469
61234
|
*)
|
|
61470
61235
|
*/
|
|
61471
|
-
//# sourceMappingURL=chunk-
|
|
61236
|
+
//# sourceMappingURL=chunk-AOWEDNOF.js.map
|