aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib/action_dispatch/http/parameters.rb
diff options
context:
space:
mode:
authorRafael França <rafaelmfranca@gmail.com>2016-12-29 02:18:38 -0500
committerGitHub <noreply@github.com>2016-12-29 02:18:38 -0500
commiteb6a6141a66e052deb58580448d7c0fa6aa675ba (patch)
tree0017a57044ec8e466c97cc6b7879d39caa6c1ffa /actionpack/lib/action_dispatch/http/parameters.rb
parent447e1a48811fa053e8bef954376d1ad47bdb5cef (diff)
parentfcec126eaa4f835c837bc75efa78008667b2ec5b (diff)
downloadrails-eb6a6141a66e052deb58580448d7c0fa6aa675ba.tar.gz
rails-eb6a6141a66e052deb58580448d7c0fa6aa675ba.tar.bz2
rails-eb6a6141a66e052deb58580448d7c0fa6aa675ba.zip
Merge branch 'master' into clear_all_environments_log_by_default
Diffstat (limited to 'actionpack/lib/action_dispatch/http/parameters.rb')
-rw-r--r--actionpack/lib/action_dispatch/http/parameters.rb15
1 files changed, 5 insertions, 10 deletions
diff --git a/actionpack/lib/action_dispatch/http/parameters.rb b/actionpack/lib/action_dispatch/http/parameters.rb
index ddd15b748b..ad4aadacf5 100644
--- a/actionpack/lib/action_dispatch/http/parameters.rb
+++ b/actionpack/lib/action_dispatch/http/parameters.rb
@@ -45,7 +45,7 @@ module ActionDispatch
query_parameters.dup
end
params.merge!(path_parameters)
- params = set_custom_encoding(params)
+ params = set_binary_encoding(params)
set_header("action_dispatch.request.parameters", params)
params
end
@@ -73,21 +73,16 @@ module ActionDispatch
private
- def set_custom_encoding(params)
+ def set_binary_encoding(params)
action = params[:action]
- params.each do |k, v|
- if v.is_a?(String) && v.encoding != encoding_template(action, k)
- params[k] = v.force_encoding(encoding_template(action, k))
+ if controller_class.binary_params_for?(action)
+ ActionDispatch::Request::Utils.each_param_value(params) do |param|
+ param.force_encoding ::Encoding::ASCII_8BIT
end
end
-
params
end
- def encoding_template(action, param)
- controller_class.encoding_for_param(action, param)
- end
-
def parse_formatted_parameters(parsers)
return yield if content_length.zero? || content_mime_type.nil?