From 9a8d583a910f81bc9241ed19abc6e01b4728a766 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Tue, 6 Nov 2007 16:36:10 +0000 Subject: Fixed that ActionController::CgiRequest#host_with_port() should handle standard port (closes #10082) [moro] git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8088 5ecf4fe2-1ee6-0310-87b1-e25e094e27de --- actionpack/CHANGELOG | 2 ++ actionpack/lib/action_controller/cgi_process.rb | 6 +++--- actionpack/test/controller/cgi_test.rb | 11 +++++++++++ railties/CHANGELOG | 4 +++- 4 files changed, 19 insertions(+), 4 deletions(-) diff --git a/actionpack/CHANGELOG b/actionpack/CHANGELOG index ebbb6f94de..62feda696b 100644 --- a/actionpack/CHANGELOG +++ b/actionpack/CHANGELOG @@ -1,5 +1,7 @@ *SVN* +* Fixed that ActionController::CgiRequest#host_with_port() should handle standard port #10082 [moro] + * Update Prototype to 1.6.0 and script.aculo.us to 1.8.0. [sam, madrobby] * Expose the cookie jar as a helper method (before the view would just get the raw cookie hash) [DHH] diff --git a/actionpack/lib/action_controller/cgi_process.rb b/actionpack/lib/action_controller/cgi_process.rb index adc594f03e..b3739ce399 100644 --- a/actionpack/lib/action_controller/cgi_process.rb +++ b/actionpack/lib/action_controller/cgi_process.rb @@ -82,7 +82,7 @@ module ActionController #:nodoc: @cgi.cookies.freeze end - def host_with_port + def host_with_port_without_standard_port_handling if forwarded = env["HTTP_X_FORWARDED_HOST"] forwarded.split(/,\s?/).last elsif http_host = env['HTTP_HOST'] @@ -95,11 +95,11 @@ module ActionController #:nodoc: end def host - host_with_port.sub(/:\d+$/, '') + host_with_port_without_standard_port_handling.sub(/:\d+$/, '') end def port - if host_with_port =~ /:(\d+)$/ + if host_with_port_without_standard_port_handling =~ /:(\d+)$/ $1.to_i else standard_port diff --git a/actionpack/test/controller/cgi_test.rb b/actionpack/test/controller/cgi_test.rb index fe94d7c7a6..cf9d5d163e 100755 --- a/actionpack/test/controller/cgi_test.rb +++ b/actionpack/test/controller/cgi_test.rb @@ -47,6 +47,17 @@ class CgiRequestTest < BaseCgiTest assert_equal "207.7.108.53:8007", @request.host_with_port end + def test_host_with_port_if_http_standard_port_is_specified + @request_hash['HTTP_X_FORWARDED_HOST'] = "glu.ttono.us:80" + assert_equal "glu.ttono.us", @request.host_with_port + end + + def test_host_with_port_if_https_standard_port_is_specified + @request_hash['HTTP_X_FORWARDED_PROTO'] = "https" + @request_hash['HTTP_X_FORWARDED_HOST'] = "glu.ttono.us:443" + assert_equal "glu.ttono.us", @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]" diff --git a/railties/CHANGELOG b/railties/CHANGELOG index cc65341c3b..960ad59ef3 100644 --- a/railties/CHANGELOG +++ b/railties/CHANGELOG @@ -1,5 +1,7 @@ *SVN* +* Added --skip-timestamps to generators that produce models #10036 [tpope] + * Update Prototype to 1.6.0 and script.aculo.us to 1.8.0. [sam, madrobby] * Added db:rollback to rollback the schema one version (or multiple as specified by STEP) [Jeffrey Allan Hardy] @@ -25,9 +27,9 @@ databases on localhost. #9753 [Trevor Wennblom] * Removed calls to fixtures in generated tests as fixtures :all is now present by default in test_helper.rb [DHH] - * Add --prefix option to script/server when using mongrel. [dacat] + *2.0.0 [Preview Release]* (September 29th, 2007) [Includes duplicates of changes from 1.1.4 - 1.2.3] * Fixed that installing plugins from SVN repositories that use trunk/ will work #8188 [evan] -- cgit v1.2.3