Spaces:
Sleeping
Sleeping
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'); | |
} |