aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--actionpack/lib/action_dispatch/http/parameters.rb26
1 files changed, 24 insertions, 2 deletions
diff --git a/actionpack/lib/action_dispatch/http/parameters.rb b/actionpack/lib/action_dispatch/http/parameters.rb
index 97546d5f93..68ba3637bf 100644
--- a/actionpack/lib/action_dispatch/http/parameters.rb
+++ b/actionpack/lib/action_dispatch/http/parameters.rb
@@ -29,9 +29,31 @@ module ActionDispatch
def path_parameters
@env["action_dispatch.request.path_parameters"] ||= {}
end
-
- private
+ def filter_parameters
+ # TODO: Remove dependency on controller
+ if controller = @env['action_controller.instance']
+ controller.send(:filter_parameters, params)
+ else
+ params
+ end
+ end
+
+ def filter_env
+ if controller = @env['action_controller.instance']
+ @env.map do |key, value|
+ if (key =~ /RAW_POST_DATA/i)
+ '[FILTERED]'
+ else
+ controller.send(:filter_parameters, {key => value}).values[0]
+ end
+ end
+ else
+ env
+ end
+ end
+
+ private
# Convert nested Hashs to HashWithIndifferentAccess
def normalize_parameters(value)
case value