RemoteFetcher handles the details of fetching gems and gem information from a remote source.

Constants
No documentation available
Attributes
Read & Write
No documentation available
Class Methods

Cached RemoteFetcher instance.

No documentation available

Initialize a remote fetcher using the source URI and possible proxy information.

proxy

  • [String]: explicit specification of proxy; overrides any environment

    variable setting
    
  • nil: respect environment variables (HTTP_PROXY, HTTP_PROXY_USER,

    HTTP_PROXY_PASS)
  • :no_proxy: ignore environment variables and _don’t_ use a proxy

dns: An object to use for DNS resolution of the API endpoint.

By default, use Resolv::DNS.

headers: A set of additional HTTP headers to be sent to the server when

fetching the gem.
Instance Methods

Given a source at uri, calculate what hostname to actually connect to query the data for it.

Downloads uri to path if necessary. If no path is given, it just passes the data.

No documentation available
No documentation available

Moves the gem spec from source_uri to the cache dir unless it is already there. If the source_uri is local the gem cache dir copy is always replaced.

Given a name and requirement, downloads this gem into cache and returns the filename. Returns nil if the gem cannot be located.

File Fetcher. Dispatched by fetch_path. Use it instead.

HTTP Fetcher. Dispatched by fetch_path. Use it instead.

Downloads uri and returns it as a String.

No documentation available

Returns the size of uri in bytes.

No documentation available
No documentation available
No documentation available

Performs a Net::HTTP request of type request_class on uri returning a Net::HTTP response object. request maintains a table of persistent connections to reduce connect overhead.

No documentation available

we have our own signing code here to avoid a dependency on the aws-sdk gem fortunately, a simple GET request isn’t too complex to sign properly