← back to Corvette Dashboard Viewer
Close /img socket leak: destroy the response on mid-body CDN stall instead of leaving it half-piped and never-ended
3e6c8b122e604b999e5f9d4d4399494a4bf3577f · 2026-07-28 22:22:47 -0700 · steve
Files touched
Diff
commit 3e6c8b122e604b999e5f9d4d4399494a4bf3577f
Author: steve <steve@designerwallcoverings.com>
Date: Tue Jul 28 22:22:47 2026 -0700
Close /img socket leak: destroy the response on mid-body CDN stall instead of leaving it half-piped and never-ended
---
server.js | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/server.js b/server.js
index 9436254..34088a6 100644
--- a/server.js
+++ b/server.js
@@ -172,7 +172,13 @@ http.createServer((req, res) => {
pres.pipe(res);
});
ir.on('error', placeholder);
- ir.setTimeout(6000, () => { ir.destroy(); placeholder(); });
+ ir.setTimeout(6000, () => {
+ ir.destroy();
+ // If the 200 already went out and piping began (stall MID-body), placeholder() no-ops
+ // on the headersSent guard — which would leak a half-piped, never-ended response. So
+ // tear the client socket down here. Otherwise (stall pre-headers) emit the placeholder.
+ if (res.headersSent && !res.writableEnded) res.destroy(); else placeholder();
+ });
return;
}
← 9115bd3 Harden now-public surface: guard /img double-writeHead (ERR_
·
back to Corvette Dashboard Viewer
·
Move corvette console default port 9797->9803 (RENTV Live Co f45e428 →