diff options
| author | Jack Nagel | 2013-11-26 22:56:03 -0600 |
|---|---|---|
| committer | Jack Nagel | 2013-11-26 22:57:10 -0600 |
| commit | 4a39fd85c0e07b3b901cc39ac9a2d1f5d32ce51b (patch) | |
| tree | fddd3fd35d708f44a76bc3c2264734435fcbe46d /Library | |
| parent | 42215b60b6fa9fa77342e2a5ef54b86277509d29 (diff) | |
| download | homebrew-4a39fd85c0e07b3b901cc39ac9a2d1f5d32ce51b.tar.bz2 | |
ApacheDownloadStrategy: fall back to specified mirrors
Fixes #24157.
Diffstat (limited to 'Library')
| -rw-r--r-- | Library/Homebrew/download_strategy.rb | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/Library/Homebrew/download_strategy.rb b/Library/Homebrew/download_strategy.rb index f6a3c9129..2fe25d159 100644 --- a/Library/Homebrew/download_strategy.rb +++ b/Library/Homebrew/download_strategy.rb @@ -236,13 +236,16 @@ class CurlApacheMirrorDownloadStrategy < CurlDownloadStrategy end def _fetch + return super if @tried_apache_mirror + @tried_apache_mirror = true + mirrors = Utils::JSON.load(apache_mirrors) - url = mirrors.fetch('preferred') + mirrors.fetch('path_info') + @url = mirrors.fetch('preferred') + mirrors.fetch('path_info') - ohai "Best Mirror #{url}" - curl url, '-C', downloaded_size, '-o', temporary_path + ohai "Best Mirror #{@url}" + super rescue IndexError, Utils::JSON::Error - raise "Couldn't determine mirror. Try again later." + raise CurlDownloadStrategyError, "Couldn't determine mirror, try again later." end end |
