Class: Bundler::Fetcher::Index

Inherits:
Base
  • Object
show all
Defined in:
lib/bundler/fetcher/index.rb

Instance Attribute Summary

Attributes inherited from Base

#display_uri, #downloader, #gem_remote_fetcher, #remote

Instance Method Summary collapse

Methods inherited from Base

#api_fetcher?, #available?, #fetch_uri, #initialize, #remote_uri

Constructor Details

This class inherits a constructor from Bundler::Fetcher::Base

Instance Method Details

#specs(_gem_names) ⇒ Object



8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/bundler/fetcher/index.rb', line 8

def specs(_gem_names)
  Bundler.rubygems.fetch_all_remote_specs(remote, gem_remote_fetcher)
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 AuthenticationForbiddenError, remote_uri
  else
    raise HTTPError, "Could not fetch specs from #{display_uri} due to underlying error <#{e.message}>"
  end
end