Skip to content

Commit d920d39

Browse files
afurmmatzbot
authored andcommitted
[ruby/rubygems] Fix Gem::Request proxy env lookup when required directly
ruby/rubygems@db8fd6becb
1 parent f57af84 commit d920d39

2 files changed

Lines changed: 14 additions & 0 deletions

File tree

lib/rubygems/request.rb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
require_relative "vendored_net_http"
44
require_relative "user_interaction"
5+
require_relative "uri_formatter"
56

67
class Gem::Request
78
extend Gem::UserInteraction

test/rubygems/test_gem_request.rb

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
require_relative "helper"
44
require "rubygems/request"
5+
require "open3"
56

67
unless Gem::HAVE_OPENSSL
78
warn "Skipping Gem::Request tests. openssl not found."
@@ -189,6 +190,18 @@ def test_get_proxy_from_env_empty
189190
assert_nil request.proxy_uri
190191
end
191192

193+
def test_get_proxy_from_env_when_requiring_request_directly
194+
script = <<~RUBY
195+
require "rubygems/request"
196+
ENV["HTTP_PROXY"] = "fakeurl:12345"
197+
Gem::Request.get_proxy_from_env("http")
198+
RUBY
199+
200+
output, status = Open3.capture2e(*ruby_with_rubygems_in_load_path, "-e", script)
201+
202+
assert status.success?, output
203+
end
204+
192205
def test_fetch
193206
uri = Gem::Uri.new(Gem::URI.parse("#{@gem_repo}/specs.#{Gem.marshal_version}"))
194207
response = util_stub_net_http(body: :junk, code: 200) do

0 commit comments

Comments
 (0)