aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRafael França <rafaelmfranca@gmail.com>2017-07-17 13:44:46 -0400
committerGitHub <noreply@github.com>2017-07-17 13:44:46 -0400
commit5a8b430d5e7e72f19727c360abdb0ac6503d073c (patch)
tree757323c971799c081751d74aeecf2e89e8eed540
parent9914964514fc43f6eadba06a47fccdf95b7806f7 (diff)
parent2513a410f56413031738084b16aa9565e251ff66 (diff)
downloadrails-5a8b430d5e7e72f19727c360abdb0ac6503d073c.tar.gz
rails-5a8b430d5e7e72f19727c360abdb0ac6503d073c.tar.bz2
rails-5a8b430d5e7e72f19727c360abdb0ac6503d073c.zip
Merge pull request #29793 from arthurnn/arthurnn/param_encoding_error_msg
Scrub the invalid paramter value before using it in the error
-rw-r--r--actionpack/lib/action_dispatch/request/utils.rb2
-rw-r--r--actionpack/test/dispatch/request_test.rb3
2 files changed, 3 insertions, 2 deletions
diff --git a/actionpack/lib/action_dispatch/request/utils.rb b/actionpack/lib/action_dispatch/request/utils.rb
index 4f79c4c21e..daac68d4b4 100644
--- a/actionpack/lib/action_dispatch/request/utils.rb
+++ b/actionpack/lib/action_dispatch/request/utils.rb
@@ -32,7 +32,7 @@ module ActionDispatch
unless params.valid_encoding?
# Raise Rack::Utils::InvalidParameterError for consistency with Rack.
# ActionDispatch::Request#GET will re-raise as a BadRequest error.
- raise Rack::Utils::InvalidParameterError, "Non UTF-8 value: #{params}"
+ raise Rack::Utils::InvalidParameterError, "Invalid encoding for parameter: #{params.scrub}"
end
end
end
diff --git a/actionpack/test/dispatch/request_test.rb b/actionpack/test/dispatch/request_test.rb
index 899b27b962..61ae99eadc 100644
--- a/actionpack/test/dispatch/request_test.rb
+++ b/actionpack/test/dispatch/request_test.rb
@@ -1024,7 +1024,8 @@ class RequestParameters < BaseRequestTest
request.path_parameters = { foo: "\xBE" }
end
- assert_equal "Invalid path parameters: Non UTF-8 value: \xBE", err.message
+ assert_predicate err.message, :valid_encoding?
+ assert_equal "Invalid path parameters: Invalid encoding for parameter: �", err.message
end
test "parameters not accessible after rack parse error of invalid UTF8 character" do