mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
merge revision(s) r48666: [Backport #10875]
* lib/uri/generic.rb (URI::Generic.build): use hostname= to detect and wrap IPv6 hosts. Build is accepting URI components and users may not expect that a host component needs to be wrapped with square brackets since it's not providing a URI. Note: initialize with arg_check => true does not wrap IPv6 hosts. by Joe Rafaniello <jrafanie@redhat.com> https://github.com/ruby/ruby/pull/765 fix GH-765 * test/uri/test_generic.rb: Add more tests git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@49907 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
3457be5f12
commit
2d5f7e5e17
4 changed files with 34 additions and 7 deletions
13
ChangeLog
13
ChangeLog
|
@ -1,3 +1,16 @@
|
|||
Mon Mar 9 21:52:41 2015 NARUSE, Yui <naruse@ruby-lang.org>
|
||||
|
||||
* lib/uri/generic.rb (URI::Generic.build):
|
||||
use hostname= to detect and wrap IPv6 hosts.
|
||||
Build is accepting URI components and users may not expect
|
||||
that a host component needs to be wrapped with square brackets
|
||||
since it's not providing a URI.
|
||||
Note: initialize with arg_check => true does not wrap IPv6 hosts.
|
||||
by Joe Rafaniello <jrafanie@redhat.com>
|
||||
https://github.com/ruby/ruby/pull/765 fix GH-765
|
||||
|
||||
* test/uri/test_generic.rb: Add more tests
|
||||
|
||||
Tue Mar 3 02:42:27 2015 Eric Wong <e@80x24.org>
|
||||
|
||||
* ext/io/wait/wait.c (io_nread): wrap return value with INT2FIX
|
||||
|
|
|
@ -192,7 +192,7 @@ module URI
|
|||
if arg_check
|
||||
self.scheme = scheme
|
||||
self.userinfo = userinfo
|
||||
self.host = host
|
||||
self.hostname = host
|
||||
self.port = port
|
||||
self.path = path
|
||||
self.query = query
|
||||
|
|
|
@ -741,12 +741,26 @@ class URI::TestGeneric < Test::Unit::TestCase
|
|||
end
|
||||
|
||||
def test_build
|
||||
URI::Generic.build(['http', nil, 'example.com', 80, nil, '/foo', nil, nil, nil])
|
||||
u = URI::Generic.build(['http', nil, 'example.com', 80, nil, '/foo', nil, nil, nil])
|
||||
assert_equal('http://example.com:80/foo', u.to_s)
|
||||
|
||||
u = URI::Generic.build(:scheme => "http", :host => "::1", :path => "/bar/baz")
|
||||
assert_equal("http://[::1]/bar/baz", u.to_s)
|
||||
assert_equal("[::1]", u.host)
|
||||
assert_equal("::1", u.hostname)
|
||||
|
||||
u = URI::Generic.build(:scheme => "http", :host => "[::1]", :path => "/bar/baz")
|
||||
assert_equal("http://[::1]/bar/baz", u.to_s)
|
||||
assert_equal("[::1]", u.host)
|
||||
assert_equal("::1", u.hostname)
|
||||
end
|
||||
|
||||
def test_build2
|
||||
URI::Generic.build2(path: "/foo bar/baz")
|
||||
URI::Generic.build2(['http', nil, 'example.com', 80, nil, '/foo bar' , nil, nil, nil])
|
||||
u = URI::Generic.build2(path: "/foo bar/baz")
|
||||
assert_equal('/foo%20bar/baz', u.to_s)
|
||||
|
||||
u = URI::Generic.build2(['http', nil, 'example.com', 80, nil, '/foo bar' , nil, nil, nil])
|
||||
assert_equal('http://example.com:80/foo%20bar', u.to_s)
|
||||
end
|
||||
|
||||
# 192.0.2.0/24 is TEST-NET. [RFC3330]
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
#define RUBY_VERSION "2.1.5"
|
||||
#define RUBY_RELEASE_DATE "2015-03-03"
|
||||
#define RUBY_PATCHLEVEL 306
|
||||
#define RUBY_RELEASE_DATE "2015-03-09"
|
||||
#define RUBY_PATCHLEVEL 307
|
||||
|
||||
#define RUBY_RELEASE_YEAR 2015
|
||||
#define RUBY_RELEASE_MONTH 3
|
||||
#define RUBY_RELEASE_DAY 3
|
||||
#define RUBY_RELEASE_DAY 9
|
||||
|
||||
#include "ruby/version.h"
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue