mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
parent
6e06c980da
commit
c46a4b8c7f
2 changed files with 6 additions and 2 deletions
|
@ -643,7 +643,7 @@ module URI
|
|||
#
|
||||
def hostname
|
||||
v = self.host
|
||||
/\A\[(.*)\]\z/ =~ v ? $1 : v
|
||||
v&.start_with?('[') && v.end_with?(']') ? v[1..-2] : v
|
||||
end
|
||||
|
||||
# Sets the host part of the URI as the argument with brackets for IPv6 addresses.
|
||||
|
@ -659,7 +659,7 @@ module URI
|
|||
# it is wrapped with brackets.
|
||||
#
|
||||
def hostname=(v)
|
||||
v = "[#{v}]" if /\A\[.*\]\z/ !~ v && /:/ =~ v
|
||||
v = "[#{v}]" if !(v&.start_with?('[') && v&.end_with?(']')) && v&.index(':')
|
||||
self.host = v
|
||||
end
|
||||
|
||||
|
|
|
@ -799,8 +799,12 @@ class URI::TestGeneric < Test::Unit::TestCase
|
|||
|
||||
u = URI("http://foo/bar")
|
||||
assert_equal("http://foo/bar", u.to_s)
|
||||
u.hostname = "[::1]"
|
||||
assert_equal("http://[::1]/bar", u.to_s)
|
||||
u.hostname = "::1"
|
||||
assert_equal("http://[::1]/bar", u.to_s)
|
||||
u.hostname = ""
|
||||
assert_equal("http:///bar", u.to_s)
|
||||
end
|
||||
|
||||
def test_build
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue