fetch_path (Gem::RemoteFetcher)

    # File lib/rubygems/remote_fetcher.rb, line 163
      def fetch_path(uri, mtime = nil, head = false)
        data = open_uri_or_path uri, mtime, head
        data = Gem.gunzip data if data and not head and uri.to_s =~ /gz$/
        data
      rescue FetchError
        raise
      rescue Timeout::Error
        raise FetchError.new('timed out', uri)
      rescue IOError, SocketError, SystemCallError => e
        raise FetchError.new("#{e.class}: #{e}", uri)
      end