mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
d22511fd75
Picked at 12aeef6ba9a3be0022be9934c1a3e4c46a03ed3a
26 lines
825 B
Ruby
26 lines
825 B
Ruby
# frozen_string_literal: true
|
|
|
|
require_relative "base"
|
|
|
|
module Bundler
|
|
class Fetcher
|
|
class Index < Base
|
|
def specs(_gem_names)
|
|
Bundler.rubygems.fetch_all_remote_specs(remote)
|
|
rescue Gem::RemoteFetcher::FetchError => e
|
|
case e.message
|
|
when /certificate verify failed/
|
|
raise CertificateFailureError.new(display_uri)
|
|
when /401/
|
|
raise BadAuthenticationError, remote_uri if remote_uri.userinfo
|
|
raise AuthenticationRequiredError, remote_uri
|
|
when /403/
|
|
raise BadAuthenticationError, remote_uri if remote_uri.userinfo
|
|
raise AuthenticationRequiredError, remote_uri
|
|
else
|
|
raise HTTPError, "Could not fetch specs from #{display_uri} due to underlying error <#{e.message}>"
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|