aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib/action_controller/metal/rendering.rb
diff options
context:
space:
mode:
authorGodfrey Chan <godfreykfc@gmail.com>2014-07-10 16:33:22 -0700
committerGodfrey Chan <godfreykfc@gmail.com>2014-07-10 16:33:22 -0700
commit013c74d645a5842ce35857e4f14af7fc9961c54d (patch)
treeb7fd3b8f210a9a503d2f9791625f63a183597797 /actionpack/lib/action_controller/metal/rendering.rb
parent6e76031e8f1f815b390f966cb21e25c66e5ded50 (diff)
downloadrails-013c74d645a5842ce35857e4f14af7fc9961c54d.tar.gz
rails-013c74d645a5842ce35857e4f14af7fc9961c54d.tar.bz2
rails-013c74d645a5842ce35857e4f14af7fc9961c54d.zip
Removed single space padding from empty response body.
`render nothing: true` or rendering a `nil` body no longer add a single space to the response body. The old behavior was added as a workaround for a bug in an early version of Safari, where the HTTP headers are not returned correctly if the response body has a 0-length. This is been fixed since and the workaround is no longer necessary. Use `render body: ' '` if the old behavior is desired.
Diffstat (limited to 'actionpack/lib/action_controller/metal/rendering.rb')
-rw-r--r--actionpack/lib/action_controller/metal/rendering.rb8
1 files changed, 2 insertions, 6 deletions
diff --git a/actionpack/lib/action_controller/metal/rendering.rb b/actionpack/lib/action_controller/metal/rendering.rb
index 93e7d6954c..7bbff0450a 100644
--- a/actionpack/lib/action_controller/metal/rendering.rb
+++ b/actionpack/lib/action_controller/metal/rendering.rb
@@ -67,8 +67,8 @@ module ActionController
options[:html] = ERB::Util.html_escape(options[:html])
end
- if options.delete(:nothing) || _any_render_format_is_nil?(options)
- options[:body] = " "
+ if options.delete(:nothing)
+ options[:body] = nil
end
if options[:status]
@@ -86,10 +86,6 @@ module ActionController
end
end
- def _any_render_format_is_nil?(options)
- RENDER_FORMATS_IN_PRIORITY.any? { |format| options.key?(format) && options[format].nil? }
- end
-
# Process controller specific options, as status, content-type and location.
def _process_options(options) #:nodoc:
status, content_type, location = options.values_at(:status, :content_type, :location)