@kevisual/router 0.2.4 → 0.2.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/ws.js CHANGED
@@ -32,7 +32,7 @@ var __toESM = (mod, isNodeMode, target) => {
32
32
  var __commonJS = (cb, mod) => () => (mod || cb((mod = { exports: {} }).exports, mod), mod.exports);
33
33
  var __require = /* @__PURE__ */ createRequire(import.meta.url);
34
34
 
35
- // node_modules/ws/lib/constants.js
35
+ // ../../node_modules/.pnpm/@kevisual+ws@8.19.0/node_modules/@kevisual/ws/lib/constants.js
36
36
  var require_constants = __commonJS((exports, module) => {
37
37
  var BINARY_TYPES = ["nodebuffer", "arraybuffer", "fragments"];
38
38
  var hasBlob = typeof Blob !== "undefined";
@@ -40,6 +40,7 @@ var require_constants = __commonJS((exports, module) => {
40
40
  BINARY_TYPES.push("blob");
41
41
  module.exports = {
42
42
  BINARY_TYPES,
43
+ CLOSE_TIMEOUT: 30000,
43
44
  EMPTY_BUFFER: Buffer.alloc(0),
44
45
  GUID: "258EAFA5-E914-47DA-95CA-C5AB0DC85B11",
45
46
  hasBlob,
@@ -51,7 +52,7 @@ var require_constants = __commonJS((exports, module) => {
51
52
  };
52
53
  });
53
54
 
54
- // node_modules/ws/lib/buffer-util.js
55
+ // ../../node_modules/.pnpm/@kevisual+ws@8.19.0/node_modules/@kevisual/ws/lib/buffer-util.js
55
56
  var require_buffer_util = __commonJS((exports, module) => {
56
57
  var { EMPTY_BUFFER } = require_constants();
57
58
  var FastBuffer = Buffer[Symbol.species];
@@ -112,7 +113,7 @@ var require_buffer_util = __commonJS((exports, module) => {
112
113
  };
113
114
  });
114
115
 
115
- // node_modules/ws/lib/limiter.js
116
+ // ../../node_modules/.pnpm/@kevisual+ws@8.19.0/node_modules/@kevisual/ws/lib/limiter.js
116
117
  var require_limiter = __commonJS((exports, module) => {
117
118
  var kDone = Symbol("kDone");
118
119
  var kRun = Symbol("kRun");
@@ -144,7 +145,7 @@ var require_limiter = __commonJS((exports, module) => {
144
145
  module.exports = Limiter;
145
146
  });
146
147
 
147
- // node_modules/ws/lib/permessage-deflate.js
148
+ // ../../node_modules/.pnpm/@kevisual+ws@8.19.0/node_modules/@kevisual/ws/lib/permessage-deflate.js
148
149
  var require_permessage_deflate = __commonJS((exports, module) => {
149
150
  var zlib = __require("zlib");
150
151
  var bufferUtil = require_buffer_util();
@@ -399,12 +400,16 @@ var require_permessage_deflate = __commonJS((exports, module) => {
399
400
  }
400
401
  function inflateOnError(err) {
401
402
  this[kPerMessageDeflate]._inflate = null;
403
+ if (this[kError]) {
404
+ this[kCallback](this[kError]);
405
+ return;
406
+ }
402
407
  err[kStatusCode] = 1007;
403
408
  this[kCallback](err);
404
409
  }
405
410
  });
406
411
 
407
- // node_modules/ws/lib/validation.js
412
+ // ../../node_modules/.pnpm/@kevisual+ws@8.19.0/node_modules/@kevisual/ws/lib/validation.js
408
413
  var require_validation = __commonJS((exports, module) => {
409
414
  var { isUtf8 } = __require("buffer");
410
415
  var { hasBlob } = require_constants();
@@ -584,7 +589,7 @@ var require_validation = __commonJS((exports, module) => {
584
589
  }
585
590
  });
586
591
 
587
- // node_modules/ws/lib/receiver.js
592
+ // ../../node_modules/.pnpm/@kevisual+ws@8.19.0/node_modules/@kevisual/ws/lib/receiver.js
588
593
  var require_receiver = __commonJS((exports, module) => {
589
594
  var { Writable } = __require("stream");
590
595
  var PerMessageDeflate = require_permessage_deflate();
@@ -965,7 +970,7 @@ var require_receiver = __commonJS((exports, module) => {
965
970
  module.exports = Receiver;
966
971
  });
967
972
 
968
- // node_modules/ws/lib/sender.js
973
+ // ../../node_modules/.pnpm/@kevisual+ws@8.19.0/node_modules/@kevisual/ws/lib/sender.js
969
974
  var require_sender = __commonJS((exports, module) => {
970
975
  var { Duplex } = __require("stream");
971
976
  var { randomFillSync } = __require("crypto");
@@ -1319,7 +1324,7 @@ var require_sender = __commonJS((exports, module) => {
1319
1324
  }
1320
1325
  });
1321
1326
 
1322
- // node_modules/ws/lib/event-target.js
1327
+ // ../../node_modules/.pnpm/@kevisual+ws@8.19.0/node_modules/@kevisual/ws/lib/event-target.js
1323
1328
  var require_event_target = __commonJS((exports, module) => {
1324
1329
  var { kForOnEventAttribute, kListener } = require_constants();
1325
1330
  var kCode = Symbol("kCode");
@@ -1470,7 +1475,7 @@ var require_event_target = __commonJS((exports, module) => {
1470
1475
  }
1471
1476
  });
1472
1477
 
1473
- // node_modules/ws/lib/extension.js
1478
+ // ../../node_modules/.pnpm/@kevisual+ws@8.19.0/node_modules/@kevisual/ws/lib/extension.js
1474
1479
  var require_extension = __commonJS((exports, module) => {
1475
1480
  var { tokenChars } = require_validation();
1476
1481
  function push(dest, name, elem) {
@@ -1635,7 +1640,7 @@ var require_extension = __commonJS((exports, module) => {
1635
1640
  module.exports = { format, parse };
1636
1641
  });
1637
1642
 
1638
- // node_modules/ws/lib/websocket.js
1643
+ // ../../node_modules/.pnpm/@kevisual+ws@8.19.0/node_modules/@kevisual/ws/lib/websocket.js
1639
1644
  var require_websocket = __commonJS((exports, module) => {
1640
1645
  var EventEmitter = __require("events");
1641
1646
  var https = __require("https");
@@ -1651,6 +1656,7 @@ var require_websocket = __commonJS((exports, module) => {
1651
1656
  var { isBlob } = require_validation();
1652
1657
  var {
1653
1658
  BINARY_TYPES,
1659
+ CLOSE_TIMEOUT,
1654
1660
  EMPTY_BUFFER,
1655
1661
  GUID,
1656
1662
  kForOnEventAttribute,
@@ -1664,7 +1670,6 @@ var require_websocket = __commonJS((exports, module) => {
1664
1670
  } = require_event_target();
1665
1671
  var { format, parse } = require_extension();
1666
1672
  var { toBuffer } = require_buffer_util();
1667
- var closeTimeout = 30 * 1000;
1668
1673
  var kAborted = Symbol("kAborted");
1669
1674
  var protocolVersions = [8, 13];
1670
1675
  var readyStates = ["CONNECTING", "OPEN", "CLOSING", "CLOSED"];
@@ -1704,6 +1709,7 @@ var require_websocket = __commonJS((exports, module) => {
1704
1709
  initAsClient(this, address, protocols, options);
1705
1710
  } else {
1706
1711
  this._autoPong = options.autoPong;
1712
+ this._closeTimeout = options.closeTimeout;
1707
1713
  this._isServer = true;
1708
1714
  }
1709
1715
  }
@@ -1995,6 +2001,7 @@ var require_websocket = __commonJS((exports, module) => {
1995
2001
  const opts = {
1996
2002
  allowSynchronousEvents: true,
1997
2003
  autoPong: true,
2004
+ closeTimeout: CLOSE_TIMEOUT,
1998
2005
  protocolVersion: protocolVersions[1],
1999
2006
  maxPayload: 100 * 1024 * 1024,
2000
2007
  skipUTF8Validation: false,
@@ -2012,6 +2019,7 @@ var require_websocket = __commonJS((exports, module) => {
2012
2019
  port: undefined
2013
2020
  };
2014
2021
  websocket._autoPong = opts.autoPong;
2022
+ websocket._closeTimeout = opts.closeTimeout;
2015
2023
  if (!protocolVersions.includes(opts.protocolVersion)) {
2016
2024
  throw new RangeError(`Unsupported protocol version: ${opts.protocolVersion} ` + `(supported versions: ${protocolVersions.join(", ")})`);
2017
2025
  }
@@ -2350,7 +2358,7 @@ var require_websocket = __commonJS((exports, module) => {
2350
2358
  }
2351
2359
  }
2352
2360
  function setCloseTimer(websocket) {
2353
- websocket._closeTimer = setTimeout(websocket._socket.destroy.bind(websocket._socket), closeTimeout);
2361
+ websocket._closeTimer = setTimeout(websocket._socket.destroy.bind(websocket._socket), websocket._closeTimeout);
2354
2362
  }
2355
2363
  function socketOnClose() {
2356
2364
  const websocket = this[kWebSocket];
@@ -2358,8 +2366,8 @@ var require_websocket = __commonJS((exports, module) => {
2358
2366
  this.removeListener("data", socketOnData);
2359
2367
  this.removeListener("end", socketOnEnd);
2360
2368
  websocket._readyState = WebSocket.CLOSING;
2361
- let chunk;
2362
- if (!this._readableState.endEmitted && !websocket._closeFrameReceived && !websocket._receiver._writableState.errorEmitted && (chunk = websocket._socket.read()) !== null) {
2369
+ if (!this._readableState.endEmitted && !websocket._closeFrameReceived && !websocket._receiver._writableState.errorEmitted && this._readableState.length !== 0) {
2370
+ const chunk = this.read(this._readableState.length);
2363
2371
  websocket._receiver.write(chunk);
2364
2372
  }
2365
2373
  websocket._receiver.end();
@@ -2394,7 +2402,7 @@ var require_websocket = __commonJS((exports, module) => {
2394
2402
  }
2395
2403
  });
2396
2404
 
2397
- // node_modules/ws/lib/stream.js
2405
+ // ../../node_modules/.pnpm/@kevisual+ws@8.19.0/node_modules/@kevisual/ws/lib/stream.js
2398
2406
  var require_stream = __commonJS((exports, module) => {
2399
2407
  var WebSocket = require_websocket();
2400
2408
  var { Duplex } = __require("stream");
@@ -2497,7 +2505,7 @@ var require_stream = __commonJS((exports, module) => {
2497
2505
  module.exports = createWebSocketStream;
2498
2506
  });
2499
2507
 
2500
- // node_modules/ws/lib/subprotocol.js
2508
+ // ../../node_modules/.pnpm/@kevisual+ws@8.19.0/node_modules/@kevisual/ws/lib/subprotocol.js
2501
2509
  var require_subprotocol = __commonJS((exports, module) => {
2502
2510
  var { tokenChars } = require_validation();
2503
2511
  function parse(header) {
@@ -2542,7 +2550,7 @@ var require_subprotocol = __commonJS((exports, module) => {
2542
2550
  module.exports = { parse };
2543
2551
  });
2544
2552
 
2545
- // node_modules/ws/lib/websocket-server.js
2553
+ // ../../node_modules/.pnpm/@kevisual+ws@8.19.0/node_modules/@kevisual/ws/lib/websocket-server.js
2546
2554
  var require_websocket_server = __commonJS((exports, module) => {
2547
2555
  var EventEmitter = __require("events");
2548
2556
  var http = __require("http");
@@ -2552,7 +2560,7 @@ var require_websocket_server = __commonJS((exports, module) => {
2552
2560
  var PerMessageDeflate = require_permessage_deflate();
2553
2561
  var subprotocol = require_subprotocol();
2554
2562
  var WebSocket = require_websocket();
2555
- var { GUID, kWebSocket } = require_constants();
2563
+ var { CLOSE_TIMEOUT, GUID, kWebSocket } = require_constants();
2556
2564
  var keyRegex = /^[+/0-9A-Za-z]{22}==$/;
2557
2565
  var RUNNING = 0;
2558
2566
  var CLOSING = 1;
@@ -2569,6 +2577,7 @@ var require_websocket_server = __commonJS((exports, module) => {
2569
2577
  perMessageDeflate: false,
2570
2578
  handleProtocols: null,
2571
2579
  clientTracking: true,
2580
+ closeTimeout: CLOSE_TIMEOUT,
2572
2581
  verifyClient: null,
2573
2582
  noServer: false,
2574
2583
  backlog: null,
@@ -2689,9 +2698,11 @@ var require_websocket_server = __commonJS((exports, module) => {
2689
2698
  abortHandshakeOrEmitwsClientError(this, req, socket, 400, message);
2690
2699
  return;
2691
2700
  }
2692
- if (version !== 8 && version !== 13) {
2701
+ if (version !== 13 && version !== 8) {
2693
2702
  const message = "Missing or invalid Sec-WebSocket-Version header";
2694
- abortHandshakeOrEmitwsClientError(this, req, socket, 400, message);
2703
+ abortHandshakeOrEmitwsClientError(this, req, socket, 400, message, {
2704
+ "Sec-WebSocket-Version": "13, 8"
2705
+ });
2695
2706
  return;
2696
2707
  }
2697
2708
  if (!this.shouldHandle(req)) {
@@ -2830,18 +2841,18 @@ var require_websocket_server = __commonJS((exports, module) => {
2830
2841
  \r
2831
2842
  ` + message);
2832
2843
  }
2833
- function abortHandshakeOrEmitwsClientError(server, req, socket, code, message) {
2844
+ function abortHandshakeOrEmitwsClientError(server, req, socket, code, message, headers) {
2834
2845
  if (server.listenerCount("wsClientError")) {
2835
2846
  const err = new Error(message);
2836
2847
  Error.captureStackTrace(err, abortHandshakeOrEmitwsClientError);
2837
2848
  server.emit("wsClientError", err, socket, req);
2838
2849
  } else {
2839
- abortHandshake(socket, code, message);
2850
+ abortHandshake(socket, code, message, headers);
2840
2851
  }
2841
2852
  }
2842
2853
  });
2843
2854
 
2844
- // node_modules/ws/wrapper.mjs
2855
+ // ../../node_modules/.pnpm/@kevisual+ws@8.19.0/node_modules/@kevisual/ws/wrapper.mjs
2845
2856
  var import_stream = __toESM(require_stream(), 1);
2846
2857
  var import_receiver = __toESM(require_receiver(), 1);
2847
2858
  var import_sender = __toESM(require_sender(), 1);
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json.schemastore.org/package",
3
3
  "name": "@kevisual/router",
4
- "version": "0.2.4",
4
+ "version": "0.2.5",
5
5
  "description": "",
6
6
  "type": "module",
7
7
  "main": "./dist/router.js",
package/src/commander.ts CHANGED
@@ -125,6 +125,8 @@ export const parse = async (opts: {
125
125
  token?: string,
126
126
  username?: string,
127
127
  id?: string,
128
+ /** https://kevisual.cn/ws/proxy */
129
+ url?: string,
128
130
  },
129
131
  exitOnEnd?: boolean,
130
132
  }) => {
@@ -141,12 +143,13 @@ export const parse = async (opts: {
141
143
  createCommand({ app: app as App, program: _program });
142
144
 
143
145
  if (opts.remote) {
144
- const { token, username, id } = opts.remote;
146
+ const { token, username, id , url } = opts.remote;
145
147
  const remoteApp = new RemoteApp({
146
148
  app,
147
149
  token,
148
150
  username,
149
151
  id,
152
+ url,
150
153
  });
151
154
  const isConnect = await remoteApp.isConnect();
152
155
  if (isConnect) {