diff options
author | naruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2013-07-24 10:52:15 +0000 |
---|---|---|
committer | naruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2013-07-24 10:52:15 +0000 |
commit | 6398f79853f73fd307f5ecd266a94644ecf625b9 (patch) | |
tree | 738c78bad69b585d366f645a9706d86672c658f0 | |
parent | d9a556548e411c02e9bd0b7ca740062d8d6170d4 (diff) |
* lib/uri/generic.rb (find_proxy): raise BadURIError if the URI is
a relative URI. [Bug #8645]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42153 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | lib/uri/generic.rb | 1 | ||||
-rw-r--r-- | test/uri/test_generic.rb | 1 |
3 files changed, 7 insertions, 0 deletions
@@ -1,3 +1,8 @@ +Wed Jul 24 19:49:54 2013 NARUSE, Yui <naruse@ruby-lang.org> + + * lib/uri/generic.rb (find_proxy): raise BadURIError if the URI is + a relative URI. [Bug #8645] + Wed Jul 24 18:56:06 2013 Koichi Sasada <ko1@atdot.net> * vm_insnhelper.c (vm_expandarray): use RARRAY_RAWPTR() instead of diff --git a/lib/uri/generic.rb b/lib/uri/generic.rb index 1d8963af4d..387682b5b5 100644 --- a/lib/uri/generic.rb +++ b/lib/uri/generic.rb @@ -1611,6 +1611,7 @@ module URI # http_proxy is not used too if the variable is case insensitive. # CGI_HTTP_PROXY can be used instead. def find_proxy + raise BadURIError, "relative URI: #{self}" if self.relative? name = self.scheme.downcase + '_proxy' proxy_uri = nil if name == 'http_proxy' && ENV.include?('REQUEST_METHOD') # CGI? diff --git a/test/uri/test_generic.rb b/test/uri/test_generic.rb index 2d4603ca44..d22d3c1dd6 100644 --- a/test/uri/test_generic.rb +++ b/test/uri/test_generic.rb @@ -736,6 +736,7 @@ class URI::TestGeneric < Test::Unit::TestCase # 192.0.2.0/24 is TEST-NET. [RFC3330] def test_find_proxy + assert_raise(URI::BadURIError){ URI("foo").find_proxy } with_env({}) { assert_nil(URI("http://192.0.2.1/").find_proxy) assert_nil(URI("ftp://192.0.2.1/").find_proxy) |