Sha256: 6c38b13dbf022afbbe7745b8a7eaed8e6c17fa68244181ff6b6ab6c13e6dbd90

Contents?: true

Size: 1.52 KB

Versions: 14

Compression:

Stored size: 1.52 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/agent/reporting/reporting_events/preflight_message'
require 'contrast/agent/reporting/reporting_events/preflight'
require 'contrast/agent/reporting/reporting_events/route_discovery'
require 'contrast/agent/reporting/reporting_utilities/reporting_storage'

module Contrast
  module Agent
    module Reporting
      # This module will handle the building of new preflights prior to
      # sending them.
      module BuildPreflight
        class << self
          # @param finding [Contrast::Agent::Reporting::Finding]
          # @param request [Contrast::Agent::Request] current request
          def build finding, request
            return unless finding

            # save the current finding
            Contrast::Agent::Reporting::ReportingStorage[finding.hash_code] = finding

            new_preflight = Contrast::Agent::Reporting::Preflight.new
            new_preflight_message = Contrast::Agent::Reporting::PreflightMessage.new
            if request&.route
              new_preflight_message.routes << Contrast::Agent::Reporting::RouteDiscovery.convert(request.route)
            end
            new_preflight_message.hash_code = finding.hash_code
            new_preflight_message.data = "#{ finding.rule_id },#{ finding.hash_code }"
            new_preflight.messages << new_preflight_message
            new_preflight
          end
        end
      end
    end
  end
end

Version data entries

14 entries across 14 versions & 1 rubygems

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