1234567891011121314151617181920212223242526 |
- 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');
- }
|