function getDecoder(obj) { return function(socket, callback) { var encoding = obj._originEncoding; var decoder; if (obj._needGunzip || socket || encoding !== obj.headers['content-encoding']) { obj._needGunzip = true; decoder = encoding && util.getUnzipStream(encoding); } var handleError = function(err) { obj.emit('error', err); }; decoder && decoder.on('error', handleError); if (socket) { delete obj.headers['content-length']; var enTrans = getEncodeTransform(); var deTrans = getDecodeTransform(); enTrans.pipe(socket).pipe(deTrans); enTrans.on('error', handleError); deTrans.on('error', handleError); if (decoder) { decoder.pipe(enTrans); } else { decoder = enTrans; } socket = deTrans; } callback(decoder, socket); }; }
answers.appAuthorSlug = _.slugify(answers.appAuthor) gulp.src(__dirname + '/node-cli/**') .pipe(template(answers)) .pipe(rename(function(file) { if (file.basename[0] === '_') { file.basename = '.' + file.basename.slice(1); .pipe(conflict('./')) .pipe(gulp.dest('./')) .pipe(install()) .on('end', function() { done();