# File lib/rubygems/remote_fetcher.rb, line 48 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} reading #{uri}" rescue old_uri = uri uri = uri.downcase retry if old_uri != uri raise end