fetch_path (Gem::RemoteFetcher)

    # File lib/rubygems/remote_fetcher.rb, line 42
      def fetch_path(uri)
        open_uri_or_path(uri) do |input|
          input.read
        end
      rescue Timeout::Error
        raise FetchError, "timed out fetching #{uri}"
      rescue IOError, SocketError, SystemCallError => e
        raise FetchError, "#{e.class}: #{e} reading #{uri}"
      rescue OpenURI::HTTPError => e
        body = e.io.readlines.join "\n\t"
        message = "#{e.class}: #{e} reading #{uri}\n\t#{body}"
        raise FetchError, message
      end