🚀. Socket Launch Week Day 2:Introducing Manifest Alerts.Learn more
Sign In

@hono/node-server

Package Overview
Dependencies
Maintainers
1
Versions
91
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@hono/node-server - npm Package Compare versions

Comparing version
2.0.0
to
2.0.1
+42
-9
dist/index.cjs

@@ -839,6 +839,27 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });

const WAIT_FOR_WEBSOCKET_SYMBOL = Symbol("WAIT_FOR_WEBSOCKET_SYMBOL");
const rejectUpgradeRequest = (socket, status) => {
socket.end(`HTTP/1.1 ${status.toString()} ${node_http.STATUS_CODES[status] ?? ""}\r\nConnection: close\r
Content-Length: 0\r
\r
const responseHeadersToSkip = new Set([
"connection",
"content-length",
"keep-alive",
"proxy-authenticate",
"proxy-authorization",
"te",
"trailer",
"transfer-encoding",
"upgrade",
"sec-websocket-accept",
"sec-websocket-extensions",
"sec-websocket-protocol"
]);
const appendResponseHeaders = (headers, responseHeaders) => {
if (!responseHeaders) return;
responseHeaders.forEach((value, key) => {
if (responseHeadersToSkip.has(key.toLowerCase())) return;
headers.push(`${key}: ${value}`);
});
};
const rejectUpgradeRequest = (socket, status, responseHeaders) => {
const responseLines = ["Connection: close", "Content-Length: 0"];
appendResponseHeaders(responseLines, responseHeaders);
socket.end(`HTTP/1.1 ${status.toString()} ${node_http.STATUS_CODES[status] ?? ""}\r\n${responseLines.join("\r\n")}\r\n\r
`);

@@ -884,5 +905,9 @@ };

let status = 400;
let responseHeaders;
try {
const response = await fetchCallback(createUpgradeRequest(request), env);
if (response instanceof Response) status = response.status;
if (response instanceof Response) {
status = response.status;
responseHeaders = response.headers;
}
} catch {

@@ -895,8 +920,16 @@ if (server.listenerCount("upgrade") === 1) rejectUpgradeRequest(socket, 500);

waiterMap.delete(request);
if (server.listenerCount("upgrade") === 1) rejectUpgradeRequest(socket, status);
if (server.listenerCount("upgrade") === 1) rejectUpgradeRequest(socket, status, responseHeaders);
return;
}
wss.handleUpgrade(request, socket, head, (ws) => {
wss.emit("connection", ws, request);
});
const addResponseHeaders = (headers) => {
appendResponseHeaders(headers, responseHeaders);
};
wss.on("headers", addResponseHeaders);
try {
wss.handleUpgrade(request, socket, head, (ws) => {
wss.emit("connection", ws, request);
});
} finally {
wss.off("headers", addResponseHeaders);
}
});

@@ -903,0 +936,0 @@ server.on("close", () => {

@@ -838,6 +838,27 @@ import { t as X_ALREADY_SENT } from "./constants-BLSFu_RU.mjs";

const WAIT_FOR_WEBSOCKET_SYMBOL = Symbol("WAIT_FOR_WEBSOCKET_SYMBOL");
const rejectUpgradeRequest = (socket, status) => {
socket.end(`HTTP/1.1 ${status.toString()} ${STATUS_CODES[status] ?? ""}\r\nConnection: close\r
Content-Length: 0\r
\r
const responseHeadersToSkip = new Set([
"connection",
"content-length",
"keep-alive",
"proxy-authenticate",
"proxy-authorization",
"te",
"trailer",
"transfer-encoding",
"upgrade",
"sec-websocket-accept",
"sec-websocket-extensions",
"sec-websocket-protocol"
]);
const appendResponseHeaders = (headers, responseHeaders) => {
if (!responseHeaders) return;
responseHeaders.forEach((value, key) => {
if (responseHeadersToSkip.has(key.toLowerCase())) return;
headers.push(`${key}: ${value}`);
});
};
const rejectUpgradeRequest = (socket, status, responseHeaders) => {
const responseLines = ["Connection: close", "Content-Length: 0"];
appendResponseHeaders(responseLines, responseHeaders);
socket.end(`HTTP/1.1 ${status.toString()} ${STATUS_CODES[status] ?? ""}\r\n${responseLines.join("\r\n")}\r\n\r
`);

@@ -883,5 +904,9 @@ };

let status = 400;
let responseHeaders;
try {
const response = await fetchCallback(createUpgradeRequest(request), env);
if (response instanceof Response) status = response.status;
if (response instanceof Response) {
status = response.status;
responseHeaders = response.headers;
}
} catch {

@@ -894,8 +919,16 @@ if (server.listenerCount("upgrade") === 1) rejectUpgradeRequest(socket, 500);

waiterMap.delete(request);
if (server.listenerCount("upgrade") === 1) rejectUpgradeRequest(socket, status);
if (server.listenerCount("upgrade") === 1) rejectUpgradeRequest(socket, status, responseHeaders);
return;
}
wss.handleUpgrade(request, socket, head, (ws) => {
wss.emit("connection", ws, request);
});
const addResponseHeaders = (headers) => {
appendResponseHeaders(headers, responseHeaders);
};
wss.on("headers", addResponseHeaders);
try {
wss.handleUpgrade(request, socket, head, (ws) => {
wss.emit("connection", ws, request);
});
} finally {
wss.off("headers", addResponseHeaders);
}
});

@@ -902,0 +935,0 @@ server.on("close", () => {

+1
-1
{
"name": "@hono/node-server",
"version": "2.0.0",
"version": "2.0.1",
"description": "Node.js Adapter for Hono",

@@ -5,0 +5,0 @@ "main": "dist/index.mjs",