utils: streamToBuffer()

master
Jonathan Ong 11 years ago
parent e8aac382e8
commit 262378d182
  1. 13
      lib/command.js
  2. 20
      lib/utils.js

@ -209,16 +209,9 @@ module.exports = function (proto) {
// we only need one
self._buffering = true;
var buffers = [];
self.sourceStream.on('data', function (chunk) {
buffers.push(chunk);
})
self.sourceStream.on('end', function () {
self.sourceBuffer = Buffer.concat(buffers);
// Kill reference as we assume the stream is dead.
self.sourceStream = null;
utils.streamToBuffer(self.sourceStream, function (err, buffer) {
self.sourceBuffer = buffer;
self.sourceStream = null; // The stream is now dead
})
}
}

@ -21,3 +21,23 @@ exports.argsToArray = function (args) {
return arr;
}
exports.streamToBuffer = function (stream, callback) {
var buffers = [];
var done = false;
stream.on('data', function (chunk) {
buffers.push(chunk);
})
stream.on('error', function (err) {
done = true;
callback(err);
})
stream.on('end', function () {
if (done) return;
callback(null, Buffer.concat(buffers));
})
}
Loading…
Cancel
Save