1
0
Fork 0
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:
Jeremy Kemper 2007-08-31 19:03:42 +00:00
parent 55efae2387
commit 33e5e41dda
3 changed files with 15 additions and 1 deletions

View file

@ -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]

View file

@ -92,7 +92,7 @@ module ActionController #:nodoc:
end
def host
host_with_port[/^[^:]+/]
host_with_port.sub(/:\d+$/, '')
end
def port

View file

@ -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"]