diff --git a/index.js b/index.js index 810b987..6d45707 100644 --- a/index.js +++ b/index.js @@ -101,7 +101,7 @@ Mod.prototype.callback = function (req, res, serverconsole, responseEnd, href, e var headerendline = -1; var cned = false; 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) { @@ -161,7 +161,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}); + } } };