class Bundler::Fetcher
def request(uri)
def request(uri) Bundler.ui.debug "HTTP GET #{uri}" req = Net::HTTP::Get.new uri.request_uri if uri.user user = CGI.unescape(uri.user) password = uri.password ? CGI.unescape(uri.password) : nil req.basic_auth(user, password) end connection.request(uri, req) rescue Net::HTTPUnauthorized, Net::HTTPForbidden retry_with_auth { request(uri) } rescue OpenSSL::SSL::SSLError raise CertificateFailureError.new(uri) rescue *HTTP_ERRORS => e Bundler.ui.trace e raise HTTPError, "Network error while fetching #{uri}" end