mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
request.host works with IPv6 addresses. Closes #9458.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@7382 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
This commit is contained in:
parent
55efae2387
commit
33e5e41dda
3 changed files with 15 additions and 1 deletions
|
@ -1,5 +1,7 @@
|
|||
*SVN*
|
||||
|
||||
* request.host works with IPv6 addresses. #9458 [yuya]
|
||||
|
||||
* Fix bug where action caching sets the content type to the ActionCachePath object. Closes #9282 [mindforge]
|
||||
|
||||
* Find layouts even if they're not in the first view_paths directory. Closes #9258 [caio]
|
||||
|
|
|
@ -92,7 +92,7 @@ module ActionController #:nodoc:
|
|||
end
|
||||
|
||||
def host
|
||||
host_with_port[/^[^:]+/]
|
||||
host_with_port.sub(/:\d+$/, '')
|
||||
end
|
||||
|
||||
def port
|
||||
|
|
|
@ -47,6 +47,18 @@ class CgiRequestTest < BaseCgiTest
|
|||
assert_equal "207.7.108.53:8007", @request.host_with_port
|
||||
end
|
||||
|
||||
def test_host_if_ipv6_reference
|
||||
@request_hash.delete "HTTP_X_FORWARDED_HOST"
|
||||
@request_hash['HTTP_HOST'] = "[2001:1234:5678:9abc:def0::dead:beef]"
|
||||
assert_equal "[2001:1234:5678:9abc:def0::dead:beef]", @request.host
|
||||
end
|
||||
|
||||
def test_host_if_ipv6_reference_with_port
|
||||
@request_hash.delete "HTTP_X_FORWARDED_HOST"
|
||||
@request_hash['HTTP_HOST'] = "[2001:1234:5678:9abc:def0::dead:beef]:8008"
|
||||
assert_equal "[2001:1234:5678:9abc:def0::dead:beef]", @request.host
|
||||
end
|
||||
|
||||
def test_cookie_syntax_resilience
|
||||
cookies = CGI::Cookie::parse(@request_hash["HTTP_COOKIE"]);
|
||||
assert_equal ["c84ace84796670c052c6ceb2451fb0f2"], cookies["_session_id"]
|
||||
|
|
Loading…
Reference in a new issue