class ElasticAPM::Transport::Filters::SecretsFilter

@api private

Public Class Methods

new(config) click to toggle source
# File lib/elastic_apm/transport/filters/secrets_filter.rb, line 27
def initialize(config)
  @config = config
  @sanitizer =
    HashSanitizer.new(
      key_patterns: config.custom_key_filters +
                    config.sanitize_field_names
    )
end

Public Instance Methods

call(payload) click to toggle source
# File lib/elastic_apm/transport/filters/secrets_filter.rb, line 36
def call(payload)
  @sanitizer.strip_from!(
    payload.dig(:transaction, :context, :request, :body)
  )
  @sanitizer.strip_from!(
    payload.dig(:transaction, :context, :request, :cookies)
  )
  @sanitizer.strip_from!(
    payload.dig(:transaction, :context, :request, :env)
  )
  @sanitizer.strip_from!(
    payload.dig(:transaction, :context, :request, :headers)
  )
  @sanitizer.strip_from!(
    payload.dig(:transaction, :context, :response, :headers)
  )
  @sanitizer.strip_from!(
    payload.dig(:error, :context, :request, :body)
  )
  @sanitizer.strip_from!(
    payload.dig(:error, :context, :request, :cookies)
  )
  @sanitizer.strip_from!(
    payload.dig(:error, :context, :request, :env)
  )
  @sanitizer.strip_from!(
    payload.dig(:error, :context, :request, :headers)
  )
  @sanitizer.strip_from!(
    payload.dig(:error, :context, :response, :headers)
  )
  payload
end