# 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