diff options
Diffstat (limited to 'node_modules/node-sass/scripts/util')
-rw-r--r-- | node_modules/node-sass/scripts/util/downloadoptions.js | 31 | ||||
-rw-r--r-- | node_modules/node-sass/scripts/util/proxy.js | 22 | ||||
-rw-r--r-- | node_modules/node-sass/scripts/util/useragent.js | 13 |
3 files changed, 66 insertions, 0 deletions
diff --git a/node_modules/node-sass/scripts/util/downloadoptions.js b/node_modules/node-sass/scripts/util/downloadoptions.js new file mode 100644 index 0000000..2352971 --- /dev/null +++ b/node_modules/node-sass/scripts/util/downloadoptions.js @@ -0,0 +1,31 @@ +var proxy = require('./proxy'), + userAgent = require('./useragent'); + +/** + * The options passed to request when downloading the bibary + * + * There some nuance to how request handles options. Specifically + * we've been caught by their usage of `hasOwnProperty` rather than + * falsey checks. By moving the options generation into a util helper + * we can test for regressions. + * + * @return {Object} an options object for request + * @api private + */ +module.exports = function() { + var options = { + rejectUnauthorized: false, + timeout: 60000, + headers: { + 'User-Agent': userAgent(), + }, + encoding: null, + }; + + var proxyConfig = proxy(); + if (proxyConfig) { + options.proxy = proxyConfig; + } + + return options; +}; diff --git a/node_modules/node-sass/scripts/util/proxy.js b/node_modules/node-sass/scripts/util/proxy.js new file mode 100644 index 0000000..e65eac5 --- /dev/null +++ b/node_modules/node-sass/scripts/util/proxy.js @@ -0,0 +1,22 @@ + +/** + * Determine the proxy settings configured by npm + * + * It's possible to configure npm to use a proxy different + * from the system defined proxy. This can be done via the + * `npm config` CLI or the `.npmrc` config file. + * + * If a proxy has been configured in this way we must + * tell request explicitly to use it. + * + * Otherwise we can trust request to the right thing. + * + * @return {String} the proxy configured by npm or an empty string + * @api private + */ +module.exports = function() { + return process.env.npm_config_https_proxy || + process.env.npm_config_proxy || + process.env.npm_config_http_proxy || + ''; +}; diff --git a/node_modules/node-sass/scripts/util/useragent.js b/node_modules/node-sass/scripts/util/useragent.js new file mode 100644 index 0000000..2496eec --- /dev/null +++ b/node_modules/node-sass/scripts/util/useragent.js @@ -0,0 +1,13 @@ +var pkg = require('../../package.json'); + +/** + * A custom user agent use for binary downloads. + * + * @api private + */ +module.exports = function() { + return [ + 'node/', process.version, ' ', + 'node-sass-installer/', pkg.version + ].join(''); +}; |