From a7aed50d7091e670f35be2c074a766591097cf20 Mon Sep 17 00:00:00 2001 From: Dorian Niemiec Date: Fri, 16 Feb 2024 02:08:28 +0100 Subject: [PATCH] Reduced buffer memory leaks and improved performace by using streams after header processing --- index.js | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/index.js b/index.js index 264f77d..2e03066 100644 --- a/index.js +++ b/index.js @@ -224,7 +224,7 @@ Mod.prototype.callback = function (req, res, serverconsole, responseEnd, href, e } }); var dataHandler = function (data) { - buffer += data.toString("latin1"); + if (!cned) buffer += data.toString("latin1"); var m = null; if (!cned) m = buffer.match(/(?:\r\n\r\n|\n\r\n\r|\n\n|\r\r)/); if (!cned && m) { @@ -291,7 +291,11 @@ Mod.prototype.callback = function (req, res, serverconsole, responseEnd, href, e return; } } else { - if (cned && !res.finished) res.write(data); + if (cned && !res.finished) { + res.write(data); + interpreter.stdout.removeListener("data", dataHandler); + interpreter.stdout.pipe(res, {end: false}); + } } }; if (interpreter.stdout) {