|
|
var spawn = require('child_process').spawn, util = require('util'), RequestStream = require('../../lib').RequestStream;
var GzipDecode = module.exports = function GzipDecoder(options) { RequestStream.call(this, options);
this.on('pipe', this.decode); }
util.inherits(GzipDecode, RequestStream);
GzipDecode.prototype.decode = function (source) { this.decoder = spawn('gunzip'); this.decoder.stdout.on('data', this._onGunzipData.bind(this)); this.decoder.stdout.on('end', this._onGunzipEnd.bind(this)); source.pipe(this.decoder); }
GzipDecoderStack.prototype._onGunzipData = function (chunk) { this.emit('data', chunk); }
GzipDecoderStack.prototype._onGunzipEnd = function () { this.emit('end'); }
|