Allows you to specify sensitive parameters which will be replaced from the request log by looking in the query string of the request and all subhashes of the params hash to filter. If a block is given, each key and value of the params hash and all subhashes is passed to it, the value or key can be replaced using String#replace or similar method.
Examples:
env["action_dispatch.parameter_filter"] = [:password] => replaces the value to all keys matching /password/i with "[FILTERED]" env["action_dispatch.parameter_filter"] = [:foo, "bar"] => replaces the value to all keys matching /foo|bar/i with "[FILTERED]" env["action_dispatch.parameter_filter"] = lambda do |k,v| v.reverse! if k =~ /secret/i end => reverses the value to all keys matching /secret/i
Return a hash of request.env with all sensitive data replaced.
# File lib/action_dispatch/http/filter_parameters.rb, line 37 37: def filtered_env 38: @filtered_env ||= env_filter.filter(@env) 39: end
# File lib/action_dispatch/http/filter_parameters.rb, line 52 52: def env_filter 53: parameter_filter_for(Array.wrap(@env["action_dispatch.parameter_filter"]) << /RAW_POST_DATA/) 54: end
# File lib/action_dispatch/http/filter_parameters.rb, line 62 62: def filtered_query_string 63: query_string.gsub(PAIR_RE) do |_| 64: parameter_filter.filter([[$1, $2]]).first.join("=") 65: end 66: end
Disabled; run with --debug to generate this.
Generated with the Darkfish Rdoc Generator 1.1.6.