diff options
author | drbrain <drbrain@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-12-20 08:39:12 +0000 |
---|---|---|
committer | drbrain <drbrain@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-12-20 08:39:12 +0000 |
commit | 8289771e326006cc4e15a667e3eff3a72cfb3327 (patch) | |
tree | f6d367888b42848fd6a660fad57fa2020e38c097 /lib/rubygems/remote_fetcher.rb | |
parent | 40d8543fbdec5485a638a2cb1008089d106b978d (diff) | |
download | ruby-8289771e326006cc4e15a667e3eff3a72cfb3327.tar.gz |
Import RubyGems 1.0.0, r1575
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14361 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib/rubygems/remote_fetcher.rb')
-rw-r--r-- | lib/rubygems/remote_fetcher.rb | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/lib/rubygems/remote_fetcher.rb b/lib/rubygems/remote_fetcher.rb index eac4ccaf01..cb22e1f1b1 100644 --- a/lib/rubygems/remote_fetcher.rb +++ b/lib/rubygems/remote_fetcher.rb @@ -16,7 +16,7 @@ class Gem::RemoteFetcher # Cached RemoteFetcher instance. def self.fetcher - @fetcher ||= new Gem.configuration[:http_proxy] + @fetcher ||= self.new Gem.configuration[:http_proxy] end # Initialize a remote fetcher using the source URI and possible proxy @@ -45,8 +45,12 @@ class Gem::RemoteFetcher end rescue Timeout::Error raise FetchError, "timed out fetching #{uri}" - rescue OpenURI::HTTPError, IOError, SocketError, SystemCallError => e + 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 # Returns the size of +uri+ in bytes. @@ -79,7 +83,7 @@ class Gem::RemoteFetcher end rescue SocketError, SystemCallError, Timeout::Error => e - raise FetchError, "#{e.message} (#{e.class})" + raise FetchError, "#{e.message} (#{e.class})\n\tgetting size of #{uri}" end private |