diff --git a/lib/utils.js b/lib/utils.js index b8e7e180..36cca3f0 100644 --- a/lib/utils.js +++ b/lib/utils.js @@ -5,8 +5,13 @@ import { isStream } from "is-stream"; export function collectStream(source, callback) { var collection = []; var size = 0; + var done = false; - source.on("error", callback); + source.on("error", function (err) { + if (done) return; + done = true; + callback(err); + }); source.on("data", function (chunk) { collection.push(chunk); @@ -14,6 +19,9 @@ export function collectStream(source, callback) { }); source.on("end", function () { + if (done) return; + done = true; + var buf = Buffer.alloc(size); var offset = 0;