diff options
-rw-r--r-- | actionpack/lib/action_controller/metal/head.rb | 5 | ||||
-rw-r--r-- | actionpack/test/controller/new_base/bare_metal_test.rb | 6 |
2 files changed, 9 insertions, 2 deletions
diff --git a/actionpack/lib/action_controller/metal/head.rb b/actionpack/lib/action_controller/metal/head.rb index 802c44cc73..5bdbde9ebb 100644 --- a/actionpack/lib/action_controller/metal/head.rb +++ b/actionpack/lib/action_controller/metal/head.rb @@ -28,10 +28,11 @@ module ActionController self.status = status self.location = url_for(location) if location - if include_content_type?(self.status) + if include_content_headers?(self.status) self.content_type = Mime[formats.first] if formats else headers.delete('Content-Type') + headers.delete('Content-Length') end self.response_body = " " @@ -39,7 +40,7 @@ module ActionController private # :nodoc: - def include_content_type?(status) + def include_content_headers?(status) case status when 100..199 false diff --git a/actionpack/test/controller/new_base/bare_metal_test.rb b/actionpack/test/controller/new_base/bare_metal_test.rb index df457f8a3c..5bcd79ebec 100644 --- a/actionpack/test/controller/new_base/bare_metal_test.rb +++ b/actionpack/test/controller/new_base/bare_metal_test.rb @@ -78,31 +78,37 @@ module BareMetalTest test "head :continue (100) does not return a content-type header" do headers = HeadController.action(:continue).call(Rack::MockRequest.env_for("/")).second assert_nil headers['Content-Type'] + assert_nil headers['Content-Length'] end test "head :continue (101) does not return a content-type header" do headers = HeadController.action(:continue).call(Rack::MockRequest.env_for("/")).second assert_nil headers['Content-Type'] + assert_nil headers['Content-Length'] end test "head :processing (102) does not return a content-type header" do headers = HeadController.action(:processing).call(Rack::MockRequest.env_for("/")).second assert_nil headers['Content-Type'] + assert_nil headers['Content-Length'] end test "head :no_content (204) does not return a content-type header" do headers = HeadController.action(:no_content).call(Rack::MockRequest.env_for("/")).second assert_nil headers['Content-Type'] + assert_nil headers['Content-Length'] end test "head :reset_content (205) does not return a content-type header" do headers = HeadController.action(:reset_content).call(Rack::MockRequest.env_for("/")).second assert_nil headers['Content-Type'] + assert_nil headers['Content-Length'] end test "head :not_modified (304) does not return a content-type header" do headers = HeadController.action(:not_modified).call(Rack::MockRequest.env_for("/")).second assert_nil headers['Content-Type'] + assert_nil headers['Content-Length'] end end |