module NewRelic::Agent::ParameterFiltering
Public Instance Methods
apply_filters(env, params)
click to toggle source
# File lib/new_relic/agent/parameter_filtering.rb, line 28 def apply_filters(env, params) if filters = env[ACTION_DISPATCH_PARAMETER_FILTER] params = filter_using_rails(params, filters) end params = filter_rack_file_data(env, params) params end
filter_rack_file_data(env, params)
click to toggle source
# File lib/new_relic/agent/parameter_filtering.rb, line 43 def filter_rack_file_data(env, params) content_type = env['CONTENT_TYPE'] multipart = content_type&.start_with?('multipart') params.inject({}) do |memo, (k, v)| if multipart && v.is_a?(Hash) && v[:tempfile] memo[k] = '[FILE]' else memo[k] = v end memo end end
filter_rails_request_parameters(params)
click to toggle source
# File lib/new_relic/agent/parameter_filtering.rb, line 57 def filter_rails_request_parameters(params) result = params.dup result.delete('controller') result.delete('action') result end
filter_using_rails(params, filters)
click to toggle source
# File lib/new_relic/agent/parameter_filtering.rb, line 36 def filter_using_rails(params, filters) return params unless rails_filter_class? pre_filtered_params = filter_rails_request_parameters(params) RAILS_FILTER_CLASS.new(filters).filter(pre_filtered_params) end
Private Instance Methods
rails_filter_class?()
click to toggle source
# File lib/new_relic/agent/parameter_filtering.rb, line 66 def rails_filter_class? defined?(RAILS_FILTER_CLASS) && !RAILS_FILTER_CLASS.nil? end