    # File lib/rubygems/remote_fetcher.rb, line 135
      def fetch_path(uri)
        open_uri_or_path(uri) do |input|
          input.read
        end
      rescue FetchError
        raise
      rescue Timeout::Error
        raise FetchError.new('timed out', uri)
      rescue IOError, SocketError, SystemCallError => e
        raise FetchError.new("#{e.class}: #{e}", uri)
      rescue => e
        raise FetchError.new("#{e.class}: #{e}", uri)
      end