module ActionDispatch::Http::FilterParameters
Allows you to specify sensitive query string and POST parameters to filter from the request log.
# Replaces values with "[FILTERED]" for keys that match /foo|bar/i. env["action_dispatch.parameter_filter"] = [:foo, "bar"]
For more information about filter behavior, see ActiveSupport::ParameterFilter.
Constants
- KV_RE
- PAIR_RE
Public Class Methods
new()
click to toggle source
Calls superclass method
# File lib/action_dispatch/http/filter_parameters.rb, line 19 def initialize super @filtered_parameters = nil @filtered_env = nil @filtered_path = nil end
Public Instance Methods
filtered_env()
click to toggle source
Returns a hash of request.env with all sensitive data replaced.
# File lib/action_dispatch/http/filter_parameters.rb, line 34 def filtered_env @filtered_env ||= env_filter.filter(@env) end
filtered_parameters()
click to toggle source
Returns a hash of parameters with all sensitive data replaced.
# File lib/action_dispatch/http/filter_parameters.rb, line 27 def filtered_parameters @filtered_parameters ||= parameter_filter.filter(parameters) rescue ActionDispatch::Http::Parameters::ParseError @filtered_parameters = {} end
filtered_path()
click to toggle source
Reconstructs a path with all sensitive GET parameters replaced.
# File lib/action_dispatch/http/filter_parameters.rb, line 39 def filtered_path @filtered_path ||= query_string.empty? ? path : "#{path}?#{filtered_query_string}" end
Private Instance Methods
env_filter()
click to toggle source
# File lib/action_dispatch/http/filter_parameters.rb, line 50 def env_filter # :doc: user_key = fetch_header("action_dispatch.parameter_filter") { return NULL_ENV_FILTER } parameter_filter_for(Array(user_key) + ENV_MATCH) end
filtered_query_string()
click to toggle source
# File lib/action_dispatch/http/filter_parameters.rb, line 63 def filtered_query_string # :doc: query_string.gsub(PAIR_RE) do |_| parameter_filter.filter($1 => $2).first.join("=") end end
parameter_filter()
click to toggle source
# File lib/action_dispatch/http/filter_parameters.rb, line 44 def parameter_filter # :doc: parameter_filter_for fetch_header("action_dispatch.parameter_filter") { return NULL_PARAM_FILTER } end
parameter_filter_for(filters)
click to toggle source
# File lib/action_dispatch/http/filter_parameters.rb, line 57 def parameter_filter_for(filters) # :doc: ActiveSupport::ParameterFilter.new(filters) end