| 
						 | 
						- 'use strict';
 - 
 - var debug = require('util').debuglog('urllib:detect_proxy_agent');
 - var getProxyFromURI = require('./get_proxy_from_uri');
 - 
 - var proxyAgents = {};
 - 
 - function detectProxyAgent(uri, args) {
 -   if (!args.enableProxy && !process.env.URLLIB_ENABLE_PROXY) {
 -     return null;
 -   }
 -   var proxy = args.proxy || process.env.URLLIB_PROXY;
 -   if (!proxy) {
 -     proxy = getProxyFromURI(uri);
 -     if (!proxy) {
 -       return null;
 -     }
 -   }
 - 
 -   var proxyAgent = proxyAgents[proxy];
 -   if (!proxyAgent) {
 -     debug('create new proxy %s', proxy);
 -     // lazy require, only support node >= 4
 -     proxyAgent = proxyAgents[proxy] = new (require('proxy-agent'))(proxy);
 -   }
 -   debug('get proxy: %s', proxy);
 -   return proxyAgent;
 - }
 - 
 - module.exports = detectProxyAgent;
 - module.exports.proxyAgents = proxyAgents;
 
 
  |