Project

General

Profile

Feature #8771 ยป 378.patch

https://github.com/ruby/ruby/pull/378 - sjltaylor (Sam Taylor), 08/11/2013 07:09 AM

View differences:

ChangeLog
Sat 11 Aug 2013 23:04:52 BST Sam Taylor <sjltaylor@gmail.com>
* lib/net/http.rb (Net::HTTP.start): Proxy configuration can
can come from ENV variables. [Bug #8771]
* test/net/test_http.rb (test_override_proxy_ENV_with_start):
that proxy configuration can come from ENV. [Bug #8771]
* test/net/test_http.rb (test_proxy_ENV_with_start):
test ENV proxy configuration can still be overridden
[Bug #8771]
Wed Aug 7 23:06:26 2013 Akinori MUSHA <knu@iDaemons.org>
* ruby.c (Process.argv0): New method to return the original value
lib/net/http.rb
arg.pop if opt = Hash.try_convert(arg[-1])
port, p_addr, p_port, p_user, p_pass = *arg
port = https_default_port if !port && opt && opt[:use_ssl]
p_addr = :ENV if p_addr.nil? && arg.length < 2
http = new(address, port, p_addr, p_port, p_user, p_pass)
if opt
test/net/http/test_http.rb
require 'test/unit'
require 'net/http'
require 'stringio'
require 'minitest/mock'
require_relative 'utils'
require_relative '../../ruby/envutil'
......
end
end
def test_proxy_ENV_with_start
http_mock_inst = Object.new.tap do |http|
def http.start(&blk)
end
end
captured_proxy_address = nil
captured_proxy_address = lambda do |_, _, arg2, _, _, _|
captured_proxy_address = arg2
http_mock_inst
end
Net::HTTP.stub(:new, captured_proxy_address) do
Net::HTTP.start('http://example')
end
assert_equal :ENV, captured_proxy_address
end
def test_override_proxy_ENV_with_start
http_mock_inst = Object.new.tap do |http|
def http.start(&blk)
end
end
captured_proxy_address = nil
capture_proxy_address = lambda do |_, _, arg2, _, _, _|
captured_proxy_address = arg2
http_mock_inst
end
Net::HTTP.stub(:new, capture_proxy_address) do
Net::HTTP.start('http://example', 80, 'proxy_address', 'proxy_port')
end
assert_equal 'proxy_address', captured_proxy_address
end
def test_proxy_eh_no_proxy
clean_http_proxy_env do
assert_equal false, Net::HTTP.new('example', nil, nil).proxy?
    (1-1/1)