diff options
author | Aaron Patterson <aaron.patterson@gmail.com> | 2014-07-08 11:46:56 -0700 |
---|---|---|
committer | Aaron Patterson <aaron.patterson@gmail.com> | 2014-07-08 11:46:56 -0700 |
commit | 97d62a32f824ca54c6dee2033decb78f85217361 (patch) | |
tree | 7c7fc50df28335550aefba8c917777d784fcccc3 /actionpack/lib/action_dispatch | |
parent | 3116dac121df6d2c9e1db683a9a95b56bd203b12 (diff) | |
parent | 46890ad18840a3f311bf3bf68e03cc605ca7bf12 (diff) | |
download | rails-97d62a32f824ca54c6dee2033decb78f85217361.tar.gz rails-97d62a32f824ca54c6dee2033decb78f85217361.tar.bz2 rails-97d62a32f824ca54c6dee2033decb78f85217361.zip |
Merge pull request #13999 from jamox/update_rack
This updates rails to use edge rack
Diffstat (limited to 'actionpack/lib/action_dispatch')
-rw-r--r-- | actionpack/lib/action_dispatch/http/mime_negotiation.rb | 12 | ||||
-rw-r--r-- | actionpack/lib/action_dispatch/http/parameters.rb | 11 |
2 files changed, 11 insertions, 12 deletions
diff --git a/actionpack/lib/action_dispatch/http/mime_negotiation.rb b/actionpack/lib/action_dispatch/http/mime_negotiation.rb index 0b2b60d2e4..9c8f65deac 100644 --- a/actionpack/lib/action_dispatch/http/mime_negotiation.rb +++ b/actionpack/lib/action_dispatch/http/mime_negotiation.rb @@ -54,8 +54,14 @@ module ActionDispatch end def formats - @env["action_dispatch.request.formats"] ||= - if parameters[:format] + @env["action_dispatch.request.formats"] ||= begin + params_readable = begin + parameters[:format] + rescue ActionController::BadRequest + false + end + + if params_readable Array(Mime[parameters[:format]]) elsif use_accept_header && valid_accept_header accepts @@ -64,8 +70,8 @@ module ActionDispatch else [Mime::HTML] end + end end - # Sets the \variant for template. def variant=(variant) if variant.is_a?(Symbol) diff --git a/actionpack/lib/action_dispatch/http/parameters.rb b/actionpack/lib/action_dispatch/http/parameters.rb index 6f10fcd9bf..20ae48d458 100644 --- a/actionpack/lib/action_dispatch/http/parameters.rb +++ b/actionpack/lib/action_dispatch/http/parameters.rb @@ -42,23 +42,16 @@ module ActionDispatch private - # Convert nested Hash to HashWithIndifferentAccess - # and UTF-8 encode both keys and values in nested Hash. + # Convert nested Hash to HashWithIndifferentAccess. # - # TODO: Validate that the characters are UTF-8. If they aren't, - # you'll get a weird error down the road, but our form handling - # should really prevent that from happening def normalize_encode_params(params) case params - when String - params.force_encoding(Encoding::UTF_8).encode! when Hash if params.has_key?(:tempfile) UploadedFile.new(params) else params.each_with_object({}) do |(key, val), new_hash| - new_key = key.is_a?(String) ? key.dup.force_encoding(Encoding::UTF_8).encode! : key - new_hash[new_key] = if val.is_a?(Array) + new_hash[key] = if val.is_a?(Array) val.map! { |el| normalize_encode_params(el) } else normalize_encode_params(val) |