class ElasticAPM::Filters::Container

@api private

def add(key, filter)

def add(key, filter)
  @filters[key] = filter
end

def apply(payload)

def apply(payload)
  @filters.reduce(payload) do |result, (_key, filter)|
    result = filter.call(result)
    break if result.nil?
    result
  end
end

def initialize(config)

def initialize(config)
  @config = config
  @filters = {
    request_body: RequestBodyFilter.new(config),
    secrets: SecretsFilter.new(config)
  }
end

def length

def length
  @filters.length
end

def remove(key)

def remove(key)
  @filters.delete(key)
end