class Bundler::Fetcher
def connection
def connection return @connection if @connection needs_ssl = @remote_uri.scheme == "https" || Bundler.settings[:ssl_verify_mode] || Bundler.settings[:ssl_client_cert] raise SSLError if needs_ssl && !defined?(OpenSSL) @connection = Net::HTTP::Persistent.new 'bundler', :ENV if @remote_uri.scheme == "https" @connection.verify_mode = (Bundler.settings[:ssl_verify_mode] || OpenSSL::SSL::VERIFY_PEER) @connection.cert_store = bundler_cert_store end if Bundler.settings[:ssl_client_cert] pem = File.read(Bundler.settings[:ssl_client_cert]) @connection.cert = OpenSSL::X509::Certificate.new(pem) @connection.key = OpenSSL::PKey::RSA.new(pem) end @connection.read_timeout = @api_timeout @connection.override_headers["User-Agent"] = self.class.user_agent @connection end