summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSmit Shah <who828@gmail.com>2014-03-04 23:25:56 +0530
committerSmit Shah <who828@gmail.com>2014-03-04 23:25:56 +0530
commita0b4d3864c786f2e4b085b212984144680ae6fb0 (patch)
tree6c7b44d7ac648c97b3fcf42198b8b2647439f018
parent6a04e5b9b5a0ce75a2262ec60d3847f19e149de8 (diff)
downloadbundler-a0b4d3864c786f2e4b085b212984144680ae6fb0.tar.gz
Redirect to bundler.rubygems.org if the host is rubygems.org
-rw-r--r--lib/bundler/fetcher.rb16
1 files changed, 15 insertions, 1 deletions
diff --git a/lib/bundler/fetcher.rb b/lib/bundler/fetcher.rb
index 6511e3bbb7..be11e3680e 100644
--- a/lib/bundler/fetcher.rb
+++ b/lib/bundler/fetcher.rb
@@ -292,7 +292,7 @@ module Bundler
end
def dependency_api_uri(gem_names = [])
- url = "#{@remote_uri}api/v1/dependencies"
+ url = "#{redirected_uri}api/v1/dependencies"
url << "?gems=#{URI.encode(gem_names.join(","))}" if gem_names.any?
URI.parse(url)
end
@@ -378,5 +378,19 @@ module Bundler
yield
end
+ private
+ def redirected_uri
+ return bundler_uri if rubygems?
+ return @remote_uri
+ end
+
+ def rubygems?
+ @remote_uri.host == "rubygems.org"
+ end
+
+ def bundler_uri
+ URI.parse("#{@remote_uri.scheme}://bundler.#{@remote_uri.host}/")
+ end
+
end
end