aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xactionpack/lib/action_controller/request.rb2
-rw-r--r--actionpack/test/controller/caching_test.rb8
-rw-r--r--actionpack/test/controller/request_test.rb6
3 files changed, 12 insertions, 4 deletions
diff --git a/actionpack/lib/action_controller/request.rb b/actionpack/lib/action_controller/request.rb
index 8cfb6d3354..2926ead13a 100755
--- a/actionpack/lib/action_controller/request.rb
+++ b/actionpack/lib/action_controller/request.rb
@@ -166,7 +166,7 @@ module ActionController
# Returns a host:port string for this request, such as example.com or
# example.com:8080.
def host_with_port
- host + port_string
+ @host_with_port ||= host + port_string
end
# Returns the port number of this request as an integer.
diff --git a/actionpack/test/controller/caching_test.rb b/actionpack/test/controller/caching_test.rb
index f3cf66232f..828b2fbf26 100644
--- a/actionpack/test/controller/caching_test.rb
+++ b/actionpack/test/controller/caching_test.rb
@@ -248,16 +248,22 @@ class ActionCacheTest < Test::Unit::TestCase
@request.host = 'jamis.hostname.com'
get :index
jamis_cache = content_to_cache
-
+
+ reset!
+
@request.host = 'david.hostname.com'
get :index
david_cache = content_to_cache
assert_not_equal jamis_cache, @response.body
+ reset!
+
@request.host = 'jamis.hostname.com'
get :index
assert_equal jamis_cache, @response.body
+ reset!
+
@request.host = 'david.hostname.com'
get :index
assert_equal david_cache, @response.body
diff --git a/actionpack/test/controller/request_test.rb b/actionpack/test/controller/request_test.rb
index 0fc8889db9..1ade378739 100644
--- a/actionpack/test/controller/request_test.rb
+++ b/actionpack/test/controller/request_test.rb
@@ -252,11 +252,13 @@ class RequestTest < Test::Unit::TestCase
end
- def test_host_with_port
+ def test_host_with_default_port
@request.host = "rubyonrails.org"
@request.port = 80
assert_equal "rubyonrails.org", @request.host_with_port
-
+ end
+
+ def test_host_with_non_default_port
@request.host = "rubyonrails.org"
@request.port = 81
assert_equal "rubyonrails.org:81", @request.host_with_port