// just like the Entry class, but it buffers the contents // // XXX It would be good to set a maximum BufferEntry filesize, // since it eats up memory. In normal operation, // these are only for long filenames or link names, which are // rarely very big. module.exports = BufferEntry var inherits = require("inherits") , Entry = require("./entry.js") function BufferEntry () { Entry.apply(this, arguments) this._buffer = new Buffer(this.props.size) this._offset = 0 this.body = "" this.on("end", function () { this.body = this._buffer.toString().slice(0, -1) }) } inherits(BufferEntry, Entry) // collect the bytes as they come in. BufferEntry.prototype.write = function (c) { c.copy(this._buffer, this._offset) this._offset += c.length Entry.prototype.write.call(this, c) }