Sha256: 8db0cd90f383d1e3bcee459252509e59fd897ac2e9ec2ab459df536198ba59e1

Contents?: true

Size: 1.35 KB

Versions: 19

Compression:

Stored size: 1.35 KB

Contents

# frozen_string_literal: true

require_relative 'appsec/configuration'
require_relative 'appsec/extensions'
require_relative 'appsec/scope'
require_relative 'appsec/ext'

module Datadog
  # Namespace for Datadog AppSec instrumentation
  module AppSec
    class << self
      def enabled?
        Datadog.configuration.appsec.enabled
      end

      def active_scope
        Datadog::AppSec::Scope.active_scope
      end

      def processor
        appsec_component = components.appsec

        appsec_component.processor if appsec_component
      end

      def reconfigure(ruleset:, actions:)
        appsec_component = components.appsec

        return unless appsec_component

        appsec_component.reconfigure(ruleset: ruleset, actions: actions)
      end

      def reconfigure_lock(&block)
        appsec_component = components.appsec

        return unless appsec_component

        appsec_component.reconfigure_lock(&block)
      end

      private

      def components
        Datadog.send(:components)
      end
    end

    # Expose AppSec to global shared objects
    Extensions.activate!
  end
end

# Integrations
require_relative 'appsec/contrib/rack/integration'
require_relative 'appsec/contrib/sinatra/integration'
require_relative 'appsec/contrib/rails/integration'
require_relative 'appsec/contrib/devise/integration'

require_relative 'appsec/autoload'

Version data entries

19 entries across 19 versions & 2 rubygems

Version Path
datadog-2.2.0 lib/datadog/appsec.rb
ddtrace-1.23.3 lib/datadog/appsec.rb
ddtrace-1.23.2 lib/datadog/appsec.rb
datadog-2.1.0 lib/datadog/appsec.rb
datadog-2.0.0 lib/datadog/appsec.rb
ddtrace-1.23.1 lib/datadog/appsec.rb
datadog-2.0.0.beta2 lib/datadog/appsec.rb
ddtrace-1.22.0 lib/datadog/appsec.rb
datadog-2.0.0.beta1 lib/datadog/appsec.rb
ddtrace-1.21.1 lib/datadog/appsec.rb
ddtrace-1.21.0 lib/datadog/appsec.rb
ddtrace-1.20.0 lib/datadog/appsec.rb
ddtrace-1.19.0 lib/datadog/appsec.rb
ddtrace-1.18.0 lib/datadog/appsec.rb
ddtrace-1.17.0 lib/datadog/appsec.rb
ddtrace-1.16.2 lib/datadog/appsec.rb
ddtrace-1.16.1 lib/datadog/appsec.rb
ddtrace-1.16.0 lib/datadog/appsec.rb
ddtrace-1.15.0 lib/datadog/appsec.rb