diff options
author | Andre Arko <andre@arko.net> | 2014-11-10 20:24:58 -0800 |
---|---|---|
committer | Andre Arko <andre@arko.net> | 2014-11-10 20:24:58 -0800 |
commit | 6ba537fc069a75d473080ba3f724ac2aa06346e4 (patch) | |
tree | 5766e11fef32b62974fe8c58d8cded2433122967 /lib/bundler/fetcher.rb | |
parent | 00a795c763d7a67d40ca868e4ad2a7386d712d3e (diff) | |
parent | 28b3808c7d9c8331f497fc865569c1ab716f58f1 (diff) | |
download | bundler-6ba537fc069a75d473080ba3f724ac2aa06346e4.tar.gz |
Merge tag 'v1.7.5'
Version 1.7.5
Conflicts:
.travis.yml
CHANGELOG.md
lib/bundler/fetcher.rb
lib/bundler/source_list.rb
man/gemfile.5.ronn
spec/bundler/source_list_spec.rb
Diffstat (limited to 'lib/bundler/fetcher.rb')
-rw-r--r-- | lib/bundler/fetcher.rb | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/lib/bundler/fetcher.rb b/lib/bundler/fetcher.rb index a35ea135..09e954cd 100644 --- a/lib/bundler/fetcher.rb +++ b/lib/bundler/fetcher.rb @@ -236,6 +236,12 @@ module Bundler end def use_api + _use_api(true) + rescue AuthenticationRequiredError + retry_with_auth{_use_api(false)} + end + + def _use_api(reraise_auth_error = false) return @use_api if defined?(@use_api) if @remote_uri.scheme == "file" || Bundler::Fetcher.disable_endpoint @@ -245,6 +251,9 @@ module Bundler end rescue NetworkDownError => e raise HTTPError, e.message + rescue AuthenticationRequiredError => e + raise e if reraise_auth_error + false rescue HTTPError @use_api = false end @@ -289,6 +298,8 @@ module Bundler response.body when Net::HTTPRequestEntityTooLarge raise FallbackError, response.body + when Net::HTTPUnauthorized + raise AuthenticationRequiredError, "#{response.class}: #{response.body}" else raise HTTPError, "#{response.class}: #{response.body}" end |