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) {