Action Dispatch HTTP Filter Parameters
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.
- E
- F
- N
- P
Constants
| KV_RE | = | "[^&;=]+" |
| PAIR_RE | = | %r{(#{KV_RE})=(#{KV_RE})} |
Class Public methods
new() Link
Source: show
# File actionpack/lib/action_dispatch/http/filter_parameters.rb, line 21 def initialize super @filtered_parameters = nil @filtered_env = nil @filtered_path = nil @parameter_filter = nil end
Instance Public methods
filtered_env() Link
Returns a hash of request.env with all sensitive data replaced.
Source: show
# File actionpack/lib/action_dispatch/http/filter_parameters.rb, line 37 def filtered_env @filtered_env ||= env_filter.filter(@env) end
filtered_parameters() Link
Returns a hash of parameters with all sensitive data replaced.
Source: show
# File actionpack/lib/action_dispatch/http/filter_parameters.rb, line 30 def filtered_parameters @filtered_parameters ||= parameter_filter.filter(parameters) rescue ActionDispatch::Http::Parameters::ParseError @filtered_parameters = {} end
filtered_path() Link
Reconstructs a path with all sensitive GET parameters replaced.
Source: show
# File actionpack/lib/action_dispatch/http/filter_parameters.rb, line 42 def filtered_path @filtered_path ||= query_string.empty? ? path : "#{path}?#{filtered_query_string}" end
parameter_filter() Link
Returns the ActiveSupport::ParameterFilter object used to filter in this request.
Source: show
# File actionpack/lib/action_dispatch/http/filter_parameters.rb, line 47 def parameter_filter @parameter_filter ||= if has_header?("action_dispatch.parameter_filter") parameter_filter_for get_header("action_dispatch.parameter_filter") else NULL_PARAM_FILTER end end
Instance Private methods
env_filter() Link
Source: show
# File actionpack/lib/action_dispatch/http/filter_parameters.rb, line 56 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