Commit 816204c9 by Adeel

Install: Checks proxy from npm config.

parent 3557024e
...@@ -52,7 +52,8 @@ ...@@ -52,7 +52,8 @@
"nan": "^1.3.0", "nan": "^1.3.0",
"object-assign": "^1.0.0", "object-assign": "^1.0.0",
"replace-ext": "0.0.1", "replace-ext": "0.0.1",
"request": "^2.48.0" "request": "^2.48.0",
"shelljs": "^0.3.0"
}, },
"devDependencies": { "devDependencies": {
"coveralls": "^2.11.1", "coveralls": "^2.11.1",
......
var fs = require('fs'), var fs = require('fs'),
path = require('path'), path = require('path'),
request = require('request'), 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} url
* @param {String} dest * @param {String} dest
...@@ -14,10 +15,7 @@ var fs = require('fs'), ...@@ -14,10 +15,7 @@ var fs = require('fs'),
function download(url, dest, cb) { function download(url, dest, cb) {
var file = fs.createWriteStream(dest); var file = fs.createWriteStream(dest);
var env = process.env; var options = { proxy: getProxy() };
var options = {
proxy: env.HTTPS_PROXY || env.https_proxy || env.HTTP_PROXY || env.http_proxy
};
var returnError = function(err) { var returnError = function(err) {
fs.unlink(dest); fs.unlink(dest);
cb(typeof err.message === 'string' ? err.message : err); cb(typeof err.message === 'string' ? err.message : err);
...@@ -39,6 +37,33 @@ function download(url, dest, cb) { ...@@ -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 * Check if binaries exists
* *
* @api private * @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