diff options
-rw-r--r-- | NEWS | 4 | ||||
-rw-r--r-- | lib/net/http.rb | 3 | ||||
-rw-r--r-- | test/net/http/test_http.rb | 17 |
3 files changed, 23 insertions, 1 deletions
@@ -86,6 +86,10 @@ with all sufficient information, see the ChangeLog file or Redmine === Compatibility issues (excluding feature bug fixes) +* Net::HTTP + * Net::HTTP#start now pass :ENV to p_addr by default. [Bug #13351] + To avoid this, pass nil explicitly. + * Random.raw_seed renamed to become Random.urandom. It is now applicable to non-seeding purposes due to [Bug #9569]. diff --git a/lib/net/http.rb b/lib/net/http.rb index c648f0acc4..d632020458 100644 --- a/lib/net/http.rb +++ b/lib/net/http.rb @@ -560,7 +560,7 @@ module Net #:nodoc: # :call-seq: # HTTP.start(address, port, p_addr, p_port, p_user, p_pass, &block) - # HTTP.start(address, port=nil, p_addr=nil, p_port=nil, p_user=nil, p_pass=nil, opt, &block) + # HTTP.start(address, port=nil, p_addr=:ENV, p_port=nil, p_user=nil, p_pass=nil, opt, &block) # # Creates a new Net::HTTP object, then additionally opens the TCP # connection and HTTP session. @@ -591,6 +591,7 @@ module Net #:nodoc: def HTTP.start(address, *arg, &block) # :yield: +http+ arg.pop if opt = Hash.try_convert(arg[-1]) port, p_addr, p_port, p_user, p_pass = *arg + p_addr = :ENV if arg.size < 2 port = https_default_port if !port && opt && opt[:use_ssl] http = new(address, port, p_addr, p_port, p_user, p_pass) diff --git a/test/net/http/test_http.rb b/test/net/http/test_http.rb index 7db5909f96..13d1803aa9 100644 --- a/test/net/http/test_http.rb +++ b/test/net/http/test_http.rb @@ -233,6 +233,23 @@ end module TestNetHTTP_version_1_1_methods + def test_s_start + h = Net::HTTP.start(config('host'), config('port')) + assert_equal config('host'), h.address + assert_equal config('port'), h.port + assert_equal true, h.instance_variable_get(:@proxy_from_env) + + h = Net::HTTP.start(config('host'), config('port'), :ENV) + assert_equal config('host'), h.address + assert_equal config('port'), h.port + assert_equal true, h.instance_variable_get(:@proxy_from_env) + + h = Net::HTTP.start(config('host'), config('port'), nil) + assert_equal config('host'), h.address + assert_equal config('port'), h.port + assert_equal false, h.instance_variable_get(:@proxy_from_env) + end + def test_s_get assert_equal $test_net_http_data, Net::HTTP.get(config('host'), '/', config('port')) |