aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib
diff options
context:
space:
mode:
authorJosé Valim <jose.valim@gmail.com>2012-05-03 22:52:08 -0700
committerJosé Valim <jose.valim@gmail.com>2012-05-03 22:52:08 -0700
commit5f62c86b50f21ef14ffda1112a8cd002e87590ca (patch)
treecdf9411f083acd7f0f2cb6dbbcea6f465c99b34c /actionpack/lib
parent4f77f956a8458c611c58975fb54094dea05a83e3 (diff)
parent8edd21c66fee41f755cf962e898646005ae866c0 (diff)
downloadrails-5f62c86b50f21ef14ffda1112a8cd002e87590ca.tar.gz
rails-5f62c86b50f21ef14ffda1112a8cd002e87590ca.tar.bz2
rails-5f62c86b50f21ef14ffda1112a8cd002e87590ca.zip
Merge pull request #6148 from twinturbo/head-fix
Make ActionController#head pass rack-link
Diffstat (limited to 'actionpack/lib')
-rw-r--r--actionpack/lib/action_controller/metal/head.rb22
1 files changed, 21 insertions, 1 deletions
diff --git a/actionpack/lib/action_controller/metal/head.rb b/actionpack/lib/action_controller/metal/head.rb
index a618533d09..5bdbde9ebb 100644
--- a/actionpack/lib/action_controller/metal/head.rb
+++ b/actionpack/lib/action_controller/metal/head.rb
@@ -27,8 +27,28 @@ module ActionController
self.status = status
self.location = url_for(location) if location
- self.content_type = Mime[formats.first] if formats
+
+ 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 = " "
end
+
+ private
+ # :nodoc:
+ def include_content_headers?(status)
+ case status
+ when 100..199
+ false
+ when 204, 205, 304
+ false
+ else
+ true
+ end
+ end
end
end