Sha256: fd358ef9a42982156fe5f1ee365c0d11ed72a5a5119e33897a8f177cbb3c235a

Contents?: true

Size: 1.63 KB

Versions: 3

Compression:

Stored size: 1.63 KB

Contents

# Copyright (c) 2022 Contrast Security, Inc. See https://www.contrastsecurity.com/enduser-terms-0317a for more details.
# frozen_string_literal: true

require 'contrast/components/base'

module Contrast
  module Config
    # This class holds the Common Settings for the hidden functionality of the TS
    class RequestAuditConfiguration
      include Contrast::Config::BaseConfiguration
      include Contrast::Components::ComponentBase

      DEFAULT_PATH = './messages'
      CANON_NAME = 'api.request_audit'
      CONFIG_VALUES = %w[enable requests responses path].cs__freeze

      attr_writer :enable, :requests, :responses, :path

      def initialize hsh = {}
        return unless hsh

        @enable = hsh[:enable]
        @requests = hsh[:requests]
        @responses = hsh[:responses]
        @path = hsh[:path]
      end

      # @return [Boolean, false]
      def enable
        @enable.nil? ? false : @enable
      end

      # @return [Boolean, false]
      def requests
        @requests.nil? ? false : @requests
      end

      # @return [Boolean, false]
      def responses
        @responses.nil? ? false : @responses
      end

      # @return [String, ::DEFAULT_PATH]
      def path
        @path.nil? ? DEFAULT_PATH : @path
      end

      # Converts current configuration to effective config values class and appends them to
      # EffectiveConfig class.
      #
      # @param effective_config [Contrast::Agent::DiagnosticsConfig::EffectiveConfig]
      def to_effective_config effective_config
        add_effective_config_values(effective_config, CONFIG_VALUES, CANON_NAME, "#{ CONTRAST }.#{ CANON_NAME }")
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
contrast-agent-6.11.0 lib/contrast/config/request_audit_configuration.rb
contrast-agent-6.10.0 lib/contrast/config/request_audit_configuration.rb
contrast-agent-6.9.0 lib/contrast/config/request_audit_configuration.rb