diff options
author | Godfrey Chan <godfreykfc@gmail.com> | 2014-07-10 16:33:22 -0700 |
---|---|---|
committer | Godfrey Chan <godfreykfc@gmail.com> | 2014-07-10 16:33:22 -0700 |
commit | 013c74d645a5842ce35857e4f14af7fc9961c54d (patch) | |
tree | b7fd3b8f210a9a503d2f9791625f63a183597797 /actionpack/lib/action_controller/metal | |
parent | 6e76031e8f1f815b390f966cb21e25c66e5ded50 (diff) | |
download | rails-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')
-rw-r--r-- | actionpack/lib/action_controller/metal/rendering.rb | 8 |
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) |