@hono/node-server
Advanced tools
+19
-3
@@ -1004,6 +1004,14 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); | ||
| }); | ||
| const rejectWaiter = (request) => { | ||
| const waiter = waiterMap.get(request); | ||
| if (waiter) { | ||
| waiterMap.delete(request); | ||
| waiter.reject(/* @__PURE__ */ new Error("WebSocket handshake aborted")); | ||
| } | ||
| }; | ||
| const waitForWebSocket = (request, connectionSymbol) => { | ||
| return new Promise((resolve) => { | ||
| return new Promise((resolve, reject) => { | ||
| waiterMap.set(request, { | ||
| resolve, | ||
| reject, | ||
| connectionSymbol | ||
@@ -1035,3 +1043,3 @@ }); | ||
| if (!waiter || waiter.connectionSymbol !== env[CONNECTION_SYMBOL_KEY]) { | ||
| waiterMap.delete(request); | ||
| rejectWaiter(request); | ||
| if (server.listenerCount("upgrade") === 1) rejectUpgradeRequest(socket, status, responseHeaders); | ||
@@ -1043,5 +1051,8 @@ return; | ||
| }; | ||
| const reclaimWaiterOnClose = () => rejectWaiter(request); | ||
| socket.once("close", reclaimWaiterOnClose); | ||
| wss.on("headers", addResponseHeaders); | ||
| try { | ||
| wss.handleUpgrade(request, socket, head, (ws) => { | ||
| socket.off("close", reclaimWaiterOnClose); | ||
| wss.emit("connection", ws, request); | ||
@@ -1065,3 +1076,8 @@ }); | ||
| (async () => { | ||
| const ws = await waitForWebSocket(env.incoming, connectionSymbol); | ||
| let ws; | ||
| try { | ||
| ws = await waitForWebSocket(env.incoming, connectionSymbol); | ||
| } catch { | ||
| return; | ||
| } | ||
| const messagesReceivedInStarting = []; | ||
@@ -1068,0 +1084,0 @@ const bufferMessage = (data, isBinary) => { |
+19
-3
@@ -1003,6 +1003,14 @@ import { t as X_ALREADY_SENT } from "./constants-BLSFu_RU.mjs"; | ||
| }); | ||
| const rejectWaiter = (request) => { | ||
| const waiter = waiterMap.get(request); | ||
| if (waiter) { | ||
| waiterMap.delete(request); | ||
| waiter.reject(/* @__PURE__ */ new Error("WebSocket handshake aborted")); | ||
| } | ||
| }; | ||
| const waitForWebSocket = (request, connectionSymbol) => { | ||
| return new Promise((resolve) => { | ||
| return new Promise((resolve, reject) => { | ||
| waiterMap.set(request, { | ||
| resolve, | ||
| reject, | ||
| connectionSymbol | ||
@@ -1034,3 +1042,3 @@ }); | ||
| if (!waiter || waiter.connectionSymbol !== env[CONNECTION_SYMBOL_KEY]) { | ||
| waiterMap.delete(request); | ||
| rejectWaiter(request); | ||
| if (server.listenerCount("upgrade") === 1) rejectUpgradeRequest(socket, status, responseHeaders); | ||
@@ -1042,5 +1050,8 @@ return; | ||
| }; | ||
| const reclaimWaiterOnClose = () => rejectWaiter(request); | ||
| socket.once("close", reclaimWaiterOnClose); | ||
| wss.on("headers", addResponseHeaders); | ||
| try { | ||
| wss.handleUpgrade(request, socket, head, (ws) => { | ||
| socket.off("close", reclaimWaiterOnClose); | ||
| wss.emit("connection", ws, request); | ||
@@ -1064,3 +1075,8 @@ }); | ||
| (async () => { | ||
| const ws = await waitForWebSocket(env.incoming, connectionSymbol); | ||
| let ws; | ||
| try { | ||
| ws = await waitForWebSocket(env.incoming, connectionSymbol); | ||
| } catch { | ||
| return; | ||
| } | ||
| const messagesReceivedInStarting = []; | ||
@@ -1067,0 +1083,0 @@ const bufferMessage = (data, isBinary) => { |
+1
-1
| { | ||
| "name": "@hono/node-server", | ||
| "version": "2.0.9", | ||
| "version": "2.0.10", | ||
| "description": "Node.js Adapter for Hono", | ||
@@ -5,0 +5,0 @@ "main": "dist/index.mjs", |
120299
0.7%2798
1.16%