mirror of
				https://github.com/crazy-max/ghaction-upx.git
				synced 2025-11-04 04:58:11 -07:00 
			
		
		
		
	
		
			
				
	
	
		
			30 lines
		
	
	
		
			628 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			30 lines
		
	
	
		
			628 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
'use strict';
 | 
						|
const PassThrough = require('stream').PassThrough;
 | 
						|
const zlib = require('zlib');
 | 
						|
const mimicResponse = require('mimic-response');
 | 
						|
 | 
						|
module.exports = response => {
 | 
						|
	// TODO: Use Array#includes when targeting Node.js 6
 | 
						|
	if (['gzip', 'deflate'].indexOf(response.headers['content-encoding']) === -1) {
 | 
						|
		return response;
 | 
						|
	}
 | 
						|
 | 
						|
	const unzip = zlib.createUnzip();
 | 
						|
	const stream = new PassThrough();
 | 
						|
 | 
						|
	mimicResponse(response, stream);
 | 
						|
 | 
						|
	unzip.on('error', err => {
 | 
						|
		if (err.code === 'Z_BUF_ERROR') {
 | 
						|
			stream.end();
 | 
						|
			return;
 | 
						|
		}
 | 
						|
 | 
						|
		stream.emit('error', err);
 | 
						|
	});
 | 
						|
 | 
						|
	response.pipe(unzip).pipe(stream);
 | 
						|
 | 
						|
	return stream;
 | 
						|
};
 |