Commit 816204c9 by Adeel

Install: Checks proxy from npm config.

parent 3557024e
......@@ -52,7 +52,8 @@
"nan": "^1.3.0",
"object-assign": "^1.0.0",
"replace-ext": "0.0.1",
"request": "^2.48.0"
"request": "^2.48.0",
"shelljs": "^0.3.0"
},
"devDependencies": {
"coveralls": "^2.11.1",
......
var fs = require('fs'),
path = require('path'),
request = require('request'),
mkdirp = require('mkdirp');
mkdirp = require('mkdirp'),
exec = require('shelljs').exec;
/**
* Download file, if succeded save, if not delete
* Download file, if succeeds save, if not delete
*
* @param {String} url
* @param {String} dest
......@@ -14,10 +15,7 @@ var fs = require('fs'),
function download(url, dest, cb) {
var file = fs.createWriteStream(dest);
var env = process.env;
var options = {
proxy: env.HTTPS_PROXY || env.https_proxy || env.HTTP_PROXY || env.http_proxy
};
var options = { proxy: getProxy() };
var returnError = function(err) {
fs.unlink(dest);
cb(typeof err.message === 'string' ? err.message : err);
......@@ -39,6 +37,33 @@ function download(url, dest, cb) {
};
/**
* Get proxy settings
*
* @api private
*/
function getProxy() {
var result;
['https-proxy', 'proxy', 'http-proxy'].map(function(config) {
var proxy = exec('npm config get ' + config, {silent: true});
var output = proxy.output.trim();
if (proxy.code === 0 && output !== 'undefined' && output !== 'null') {
result = proxy.output;
return;
}
});
if (result) {
return result;
}
var env = process.env;
return env.HTTPS_PROXY || env.https_proxy || env.HTTP_PROXY || env.http_proxy
}
/**
* Check if binaries exists
*
* @api private
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment