addon-tools-el/install.js

37 lines
836 B
JavaScript

'use strict';
const https = require('https');
const unzipper = require('unzipper');
const unzipper = require('unzipper');
const REPO = process.argv[1];
const download = (url, count = 1) => {
const sendReq = https.get(url, response => {
if ([301, 302, 303, 307].includes(response.statusCode)) {
if (count < 5) {
return download(response.headers.location, count + 1);
}
console.error('Error: Too many redirects.');
process.exit(-1);
return;
}
if (response.statusCode !== 200) {
console.log('Response status was ' + response.statusCode);
process.exit(-1);
return;
}
response.pipe(unzipper.Extract({ path: 'bin' }));
});
sendReq.on('error', err => {
console.log(err.message);
process.exit(-1);
});
};
download('https://github.com/raub/test-download/releases/download/v1.0.0/win.zip');