You're Invited:Meet the Socket Team at RSAC and BSidesSF 2026, March 23–26.RSVP
Socket
Book a DemoSign in
Socket

srvx

Package Overview
Dependencies
Maintainers
1
Versions
69
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

srvx - npm Package Compare versions

Comparing version
0.11.11
to
0.11.12
+35
-8
dist/adapters/node.mjs

@@ -18,8 +18,10 @@ import "../_chunks/_utils.mjs";

const res = webRes._toNodeResponse();
writeHead(nodeRes, res.status, res.statusText, res.headers);
if (res.body) {
if (res.body instanceof ReadableStream) return streamBody(res.body, nodeRes);
else if (typeof res.body?.pipe === "function") return pipeBody(res.body, nodeRes);
if (res.body instanceof ReadableStream) {
writeHead(nodeRes, res.status, res.statusText, res.headers);
return streamBody(res.body, nodeRes);
} else if (typeof res.body?.pipe === "function") return pipeBody(res.body, nodeRes, res.status, res.statusText, res.headers);
writeHead(nodeRes, res.status, res.statusText, res.headers);
nodeRes.write(res.body);
}
} else writeHead(nodeRes, res.status, res.statusText, res.headers);
return endNodeResponse(nodeRes);

@@ -39,3 +41,3 @@ }

}
function pipeBody(stream, nodeRes) {
function pipeBody(stream, nodeRes, status, statusText, headers) {
if (nodeRes.destroyed) {

@@ -45,5 +47,30 @@ stream.destroy?.();

}
if (typeof stream.on === "function" && typeof stream.destroy === "function") return pipeline(stream, nodeRes).catch(() => {});
stream.pipe(nodeRes);
return new Promise((resolve) => nodeRes.on("close", resolve));
if (typeof stream.on !== "function" || typeof stream.destroy !== "function") {
writeHead(nodeRes, status, statusText, headers);
stream.pipe(nodeRes);
return new Promise((resolve) => nodeRes.on("close", resolve));
}
if (stream.destroyed) {
writeHead(nodeRes, 500, "Internal Server Error", []);
return endNodeResponse(nodeRes);
}
return new Promise((resolve) => {
function onEarlyError() {
stream.off("readable", onReadable);
stream.destroy();
writeHead(nodeRes, 500, "Internal Server Error", []);
endNodeResponse(nodeRes).then(resolve);
}
function onReadable() {
stream.off("error", onEarlyError);
if (nodeRes.destroyed) {
stream.destroy();
return resolve();
}
writeHead(nodeRes, status, statusText, headers);
pipeline(stream, nodeRes).catch(() => {}).then(() => resolve());
}
stream.once("error", onEarlyError);
stream.once("readable", onReadable);
});
}

@@ -50,0 +77,0 @@ function streamBody(stream, nodeRes) {

+1
-1

@@ -187,3 +187,3 @@ import { a as green, c as url, i as gray, l as yellow, n as bold, o as magenta, r as cyan, s as red } from "./_chunks/_utils.mjs";

name: "srvx",
version: "0.11.10",
version: "0.11.11",
description: "Universal Server."

@@ -190,0 +190,0 @@ };

{
"name": "srvx",
"version": "0.11.11",
"version": "0.11.12",
"description": "Universal Server.",

@@ -5,0 +5,0 @@ "homepage": "https://srvx.h3.dev",