From 6cfb70023a7b102debaa7f1505b173556a285ae7 Mon Sep 17 00:00:00 2001 From: Jonathan del Strother Date: Tue, 2 Sep 2008 17:33:52 +0100 Subject: [PATCH] Don't set Content-Length on 304 responses Commit 8aad8c claimed to do this, but it checks for the 304 status too early, before handle_conditional_get! has overridden it. [#958 state:resolved] Signed-off-by: Jonathan del Strother Signed-off-by: Jeremy Kemper --- actionpack/lib/action_controller/response.rb | 2 +- actionpack/test/controller/render_test.rb | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/actionpack/lib/action_controller/response.rb b/actionpack/lib/action_controller/response.rb index 5dac4128bbbbf..54a99996ef344 100644 --- a/actionpack/lib/action_controller/response.rb +++ b/actionpack/lib/action_controller/response.rb @@ -129,8 +129,8 @@ def assign_default_content_type_and_charset! def prepare! assign_default_content_type_and_charset! - set_content_length! handle_conditional_get! + set_content_length! convert_content_type! end diff --git a/actionpack/test/controller/render_test.rb b/actionpack/test/controller/render_test.rb index c4a2bf3db31e9..af7b5dde6284d 100644 --- a/actionpack/test/controller/render_test.rb +++ b/actionpack/test/controller/render_test.rb @@ -1321,6 +1321,12 @@ def test_render_against_etag_request_should_304_when_match assert @response.body.empty? end + def test_render_against_etag_request_should_have_no_content_length_when_match + @request.if_none_match = etag_for("hello david") + get :render_hello_world_from_variable + assert !@response.headers.has_key?("Content-Length") + end + def test_render_against_etag_request_should_200_when_no_match @request.if_none_match = etag_for("hello somewhere else") get :render_hello_world_from_variable