summaryrefslogtreecommitdiff
path: root/ruby_2_2/lib/rubygems/request/connection_pools.rb
diff options
context:
space:
mode:
Diffstat (limited to 'ruby_2_2/lib/rubygems/request/connection_pools.rb')
-rw-r--r--ruby_2_2/lib/rubygems/request/connection_pools.rb83
1 files changed, 0 insertions, 83 deletions
diff --git a/ruby_2_2/lib/rubygems/request/connection_pools.rb b/ruby_2_2/lib/rubygems/request/connection_pools.rb
deleted file mode 100644
index 7a0a6e6e74..0000000000
--- a/ruby_2_2/lib/rubygems/request/connection_pools.rb
+++ /dev/null
@@ -1,83 +0,0 @@
-require 'thread'
-
-class Gem::Request::ConnectionPools # :nodoc:
-
- @client = Net::HTTP
-
- class << self
- attr_accessor :client
- end
-
- def initialize proxy_uri, cert_files
- @proxy_uri = proxy_uri
- @cert_files = cert_files
- @pools = {}
- @pool_mutex = Mutex.new
- end
-
- def pool_for uri
- http_args = net_http_args(uri, @proxy_uri)
- key = http_args + [https?(uri)]
- @pool_mutex.synchronize do
- @pools[key] ||=
- if https? uri then
- Gem::Request::HTTPSPool.new(http_args, @cert_files, @proxy_uri)
- else
- Gem::Request::HTTPPool.new(http_args, @cert_files, @proxy_uri)
- end
- end
- end
-
- def close_all
- @pools.each_value {|pool| pool.close_all}
- end
-
- private
-
- ##
- # Returns list of no_proxy entries (if any) from the environment
-
- def get_no_proxy_from_env
- env_no_proxy = ENV['no_proxy'] || ENV['NO_PROXY']
-
- return [] if env_no_proxy.nil? or env_no_proxy.empty?
-
- env_no_proxy.split(/\s*,\s*/)
- end
-
- def https? uri
- uri.scheme.downcase == 'https'
- end
-
- def no_proxy? host, env_no_proxy
- host = host.downcase
-
- env_no_proxy.any? do |pattern|
- pattern = pattern.downcase
-
- host[-pattern.length, pattern.length] == pattern or
- (pattern.start_with? '.' and pattern[1..-1] == host)
- end
- end
-
- def net_http_args uri, proxy_uri
- net_http_args = [uri.host, uri.port]
-
- no_proxy = get_no_proxy_from_env
-
- if proxy_uri and not no_proxy?(uri.host, no_proxy) then
- net_http_args + [
- proxy_uri.host,
- proxy_uri.port,
- Gem::UriFormatter.new(proxy_uri.user).unescape,
- Gem::UriFormatter.new(proxy_uri.password).unescape,
- ]
- elsif no_proxy? uri.host, no_proxy then
- net_http_args + [nil, nil]
- else
- net_http_args
- end
- end
-
-end
-