aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib/action_controller/metal/head.rb
diff options
context:
space:
mode:
authorArmand du Plessis <adp@bank.io>2012-08-02 15:58:45 -0700
committerArmand du Plessis <adp@bank.io>2012-08-02 16:01:08 -0700
commitc62abed8ca480216b3b6386c95935bfc24683216 (patch)
tree6c5d0c2cee172258767789cb415a64a70ef96fb2 /actionpack/lib/action_controller/metal/head.rb
parent6e523766d8a64bf18ac6d0e261c6bd962bc6c0a9 (diff)
downloadrails-c62abed8ca480216b3b6386c95935bfc24683216.tar.gz
rails-c62abed8ca480216b3b6386c95935bfc24683216.tar.bz2
rails-c62abed8ca480216b3b6386c95935bfc24683216.zip
Collapsed dual checks (one for content headers and one for content) into a single check.
Rails includes a single character body to a head(:no_content) response to work around an old Safari bug where headers were ignored if no body sent. This patch brings the behavior slightly closer to spec if :no_content/204 is explicity requested via a head only response. Status comparison done on symbolic and numeric values Not returning any content when responding with head and limited to a status code that explicitly states no content will be returned - 100..199, 204, 205, 304.
Diffstat (limited to 'actionpack/lib/action_controller/metal/head.rb')
-rw-r--r--actionpack/lib/action_controller/metal/head.rb8
1 files changed, 4 insertions, 4 deletions
diff --git a/actionpack/lib/action_controller/metal/head.rb b/actionpack/lib/action_controller/metal/head.rb
index 2fcd933d32..747e1273be 100644
--- a/actionpack/lib/action_controller/metal/head.rb
+++ b/actionpack/lib/action_controller/metal/head.rb
@@ -29,19 +29,19 @@ module ActionController
self.status = status
self.location = url_for(location) if location
- if include_content_headers?(self.status)
+ if include_content?(self.status)
self.content_type = content_type || (Mime[formats.first] if formats)
+ self.response_body = " "
else
headers.delete('Content-Type')
headers.delete('Content-Length')
+ self.response_body = ""
end
-
- self.response_body = " "
end
private
# :nodoc:
- def include_content_headers?(status)
+ def include_content?(status)
case status
when 100..199
false