Module: Datadog::AppSec::APISecurity

Defined in:
lib/datadog/appsec/api_security.rb,
lib/datadog/appsec/api_security/sampler.rb,
lib/datadog/appsec/api_security/lru_cache.rb,
lib/datadog/appsec/api_security/route_extractor.rb,
lib/datadog/appsec/api_security/endpoint_collection.rb,
lib/datadog/appsec/api_security/endpoint_collection/rails_collector.rb,
lib/datadog/appsec/api_security/endpoint_collection/grape_route_serializer.rb,
lib/datadog/appsec/api_security/endpoint_collection/rails_route_serializer.rb,
lib/datadog/appsec/api_security/endpoint_collection/sinatra_route_serializer.rb

Overview

A namespace for API Security features.

Defined Under Namespace

Modules: EndpointCollection, RouteExtractor Classes: LRUCache, Sampler

Class Method Summary collapse

Class Method Details

.enabled?Boolean

Returns:

  • (Boolean)


9
10
11
# File 'lib/datadog/appsec/api_security.rb', line 9

def self.enabled?
  Datadog.configuration.appsec.api_security.enabled?
end

.sample?(request, response) ⇒ Boolean

Returns:

  • (Boolean)


13
14
15
# File 'lib/datadog/appsec/api_security.rb', line 13

def self.sample?(request, response)
  Sampler.thread_local.sample?(request, response)
end

.sample_trace?(trace) ⇒ Boolean

Returns:

  • (Boolean)


17
18
19
20
# File 'lib/datadog/appsec/api_security.rb', line 17

def self.sample_trace?(trace)
  # NOTE: Reads as "if trace is priority sampled or if in standalone mode"
  trace&.priority_sampled? || !Datadog.configuration.apm.tracing.enabled
end