Sha256: d740223e407e615c3890bd6deab9a4352eb6031797f8a36823fb674965a34db8

Contents?: true

Size: 1.95 KB

Versions: 14

Compression:

Stored size: 1.95 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/utils/object_share'
require 'contrast/utils/timer'
require 'contrast/agent/reporting/attack_result/response_type'
require 'contrast/agent/reporting/attack_result/rasp_rule_sample'

module Contrast
  module Agent
    module Reporting
      # This class will hold the new Attacks results generated by our
      # protect rules.
      class AttackResult
        RESPONSE_TYPE = Contrast::Agent::Reporting::ResponseType
        # Generated the attack result
        #
        # @return @_response_type [Contrast::Agent::Reporting::ResponseType]
        def response
          @_response ||= RESPONSE_TYPE::NO_ACTION
        end

        # sets the response_type
        #
        # @param response_type [Contrast::Agent::Reporting::Settings::InputAnalysisResult]
        # @return @_response_type []
        def response= response_type
          @_response = response_type if RESPONSE_TYPE.to_a.include?(response_type)
        end

        # @return @_rule_id [String]
        def rule_id
          @_rule_id ||= Contrast::Utils::ObjectShare::EMPTY_STRING
        end

        # @param rule_id [String]
        # @return @_rule_id [String]
        def rule_id= rule_id
          @_rule_id = rule_id if rule_id.is_a?(String)
        end

        # @return @_samples [Array<Contrast::Agent::Reporting::RaspRuleSample>]
        def samples
          @_samples ||= []
        end

        # @param samples [Array<Contrast::Agent::Reporting::RaspRuleSample>]
        # @return @_samples [Array<Contrast::Agent::Reporting::RaspRuleSample>]
        def samples= samples
          @_samples = samples if samples.is_a?(Array)
        end

        def tags
          @_tags ||= Contrast::Utils::ObjectShare::EMPTY_STRING
        end

        def tags= tags
          @_tags = tags if tags.is_a?(String)
        end
      end
    end
  end
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
contrast-agent-6.6.4 lib/contrast/agent/reporting/attack_result/attack_result.rb
contrast-agent-6.6.3 lib/contrast/agent/reporting/attack_result/attack_result.rb
contrast-agent-6.6.2 lib/contrast/agent/reporting/attack_result/attack_result.rb
contrast-agent-6.6.1 lib/contrast/agent/reporting/attack_result/attack_result.rb
contrast-agent-6.6.0 lib/contrast/agent/reporting/attack_result/attack_result.rb
contrast-agent-6.5.1 lib/contrast/agent/reporting/attack_result/attack_result.rb
contrast-agent-6.5.0 lib/contrast/agent/reporting/attack_result/attack_result.rb
contrast-agent-6.4.0 lib/contrast/agent/reporting/attack_result/attack_result.rb
contrast-agent-6.3.0 lib/contrast/agent/reporting/attack_result/attack_result.rb
contrast-agent-6.2.0 lib/contrast/agent/reporting/attack_result/attack_result.rb
contrast-agent-6.1.2 lib/contrast/agent/reporting/attack_result/attack_result.rb
contrast-agent-6.1.1 lib/contrast/agent/reporting/attack_result/attack_result.rb
contrast-agent-6.1.0 lib/contrast/agent/reporting/attack_result/attack_result.rb
contrast-agent-6.0.0 lib/contrast/agent/reporting/attack_result/attack_result.rb