From 114b7a03e8a10bc26cc454ea0254c8b20876feee Mon Sep 17 00:00:00 2001 From: Loic Nageleisen Date: Fri, 26 May 2023 13:39:05 +0200 Subject: [PATCH] [WIP] Fix signatures --- lib/datadog/appsec/processor.rb | 4 ---- lib/datadog/appsec/scope.rb | 5 +++-- sig/datadog/appsec/processor.rbs | 12 ----------- sig/datadog/appsec/scope.rbs | 35 ++++++++++++++++++++++++++++++++ 4 files changed, 38 insertions(+), 18 deletions(-) create mode 100644 sig/datadog/appsec/scope.rbs diff --git a/lib/datadog/appsec/processor.rb b/lib/datadog/appsec/processor.rb index 3fdc5794f41..88c00760ce2 100644 --- a/lib/datadog/appsec/processor.rb +++ b/lib/datadog/appsec/processor.rb @@ -59,10 +59,6 @@ def ready? !@handle.nil? end - def new_context - Context.new(self) - end - def finalize @handle.finalize end diff --git a/lib/datadog/appsec/scope.rb b/lib/datadog/appsec/scope.rb index 14717553a77..71ce6a3a939 100644 --- a/lib/datadog/appsec/scope.rb +++ b/lib/datadog/appsec/scope.rb @@ -21,8 +21,9 @@ def finalize class << self def activate_scope(trace, service_entry_span, processor) raise ActiveScopeError, 'another scope is active, nested scopes are not supported' if active_scope + context = Datadog::AppSec::Processor::Context.new(processor) - self.active_scope = new(trace, service_entry_span, processor.new_context) + self.active_scope = new(trace, service_entry_span, context) end def deactivate_scope @@ -41,7 +42,7 @@ def active_scope private def active_scope=(scope) - raise ArgumentError, "#{scope.inspect} is not a Datadog::AppSec::Scope" unless scope.instance_of?(Scope) + raise ArgumentError, 'not a Datadog::AppSec::Scope' unless scope.instance_of?(Scope) Thread.current[:datadog_appsec_active_scope] = scope end diff --git a/sig/datadog/appsec/processor.rbs b/sig/datadog/appsec/processor.rbs index 2e5e281bcb3..15054ab3e0d 100644 --- a/sig/datadog/appsec/processor.rbs +++ b/sig/datadog/appsec/processor.rbs @@ -23,15 +23,6 @@ module Datadog private - def self.active_context=: (untyped context) -> untyped - def self.reset_active_context: () -> untyped - - class NoActiveContextError < StandardError - end - - class AlreadyActiveContextError < StandardError - end - attr_reader ruleset_info: untyped attr_reader addresses: untyped @@ -41,9 +32,6 @@ module Datadog def initialize: (ruleset: ::Hash[untyped, untyped]) -> void def ready?: () -> bool - def new_context: () -> Context - def activate_context: () -> Context - def deactivate_context: () -> void def finalize: () -> void attr_reader handle: untyped diff --git a/sig/datadog/appsec/scope.rbs b/sig/datadog/appsec/scope.rbs new file mode 100644 index 00000000000..bde7a39b332 --- /dev/null +++ b/sig/datadog/appsec/scope.rbs @@ -0,0 +1,35 @@ +module Datadog + module AppSec + class Scope + attr_reader trace: Datadog::Tracing::TraceOperation + + attr_reader service_entry_span: Datadog::Tracing::SpanOperation + + attr_reader processor_context: Datadog::AppSec::Processor::Context + + def initialize: (Datadog::Tracing::TraceOperation trace, Datadog::Tracing::SpanOperation service_entry_span, Datadog::AppSec::Processor::Context processor_context) -> void + + def finalize: () -> void + + def self.activate_scope: (Datadog::Tracing::TraceOperation trace, Datadog::Tracing::SpanOperation service_entry_span, Datadog::AppSec::Processor processor) -> Scope + + def self.deactivate_scope: () -> void + + def self.active_scope: () -> Scope + + private + + def self.active_scope=: (Scope scope) -> Scope + + def self.reset_active_scope: () -> void + + public + + class InactiveScopeError < StandardError + end + + class ActiveScopeError < StandardError + end + end + end +end