Skip to content

Commit

Permalink
Update AppSec Processor and Context RBS
Browse files Browse the repository at this point in the history
  • Loading branch information
Strech committed Oct 25, 2024
1 parent e3f599d commit 4f25696
Show file tree
Hide file tree
Showing 3 changed files with 38 additions and 15 deletions.
1 change: 0 additions & 1 deletion lib/datadog/appsec/processor/context.rb
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,6 @@ def run(input, timeout = WAF::LibDDWAF::DDWAF_RUN_TIMEOUT)
@time_ext_ns += (stop_ns - start_ns)
@timeouts += 1 if res.timeout

# TODO: handle the response
res
ensure
@run_mutex.unlock
Expand Down
26 changes: 18 additions & 8 deletions sig/datadog/appsec/processor.rbs
Original file line number Diff line number Diff line change
@@ -1,29 +1,39 @@
module Datadog
module AppSec
class Processor
def self.active_context: () -> Context
type rule = bool | ::Integer | ::String | ::Hash[::String, rule] | ::Array[rule]
type ruleset = ::Hash[::String, rule]

private
@telemetry: Core::Telemetry::Component

@diagnostics: WAF::LibDDWAF::Object?

@addresses: ::Array[::String]

@handle: WAF::Handle

attr_reader diagnostics: WAF::LibDDWAF::Object?

attr_reader addresses: ::Array[::String]

@handle: WAF::Handle
@ruleset: ::Hash[::String, untyped]
@addresses: ::Array[::String]
def initialize: (ruleset: ruleset, telemetry: Core::Telemetry::Component) -> void

def initialize: (ruleset: ::Hash[untyped, untyped], telemetry: Core::Telemetry::Component) -> void
def ready?: () -> bool

def finalize: () -> void

attr_reader handle: untyped
def new_context: () -> Context

private

def require_libddwaf: () -> bool

def libddwaf_provides_waf?: () -> bool
def create_waf_handle: (Core::Configuration::Settings::_AppSec settings, ::Hash[String, untyped] ruleset) -> bool

def create_waf_handle: (Core::Configuration::Settings::_AppSec settings, ruleset ruleset) -> bool

def libddwaf_platform: () -> ::String

def ruby_platforms: () -> ::Array[::String]
end
end
Expand Down
26 changes: 20 additions & 6 deletions sig/datadog/appsec/processor/context.rbs
Original file line number Diff line number Diff line change
Expand Up @@ -2,24 +2,38 @@ module Datadog
module AppSec
class Processor
class Context
type event = untyped
type data = WAF::data
@context: WAF::Context

@telemetry: Core::Telemetry::Component

@time_ns: ::Float

@time_ext_ns: ::Float

@timeouts: ::Integer

@events: ::Array[untyped]

@run_mutex: ::Thread::Mutex

attr_reader time_ns: ::Float

attr_reader time_ext_ns: ::Float

attr_reader timeouts: ::Integer
attr_reader events: ::Array[event]

@context: WAF::Context
attr_reader events: ::Array[untyped]

@run_mutex: ::Thread::Mutex
def initialize: (WAF::Handle handle, telemetry: Core::Telemetry::Component) -> void

def initialize: (Processor processor) -> void
def run: (Hash[untyped, untyped] input, ?::Integer timeout) -> WAF::Result

def extract_schema: () -> WAF::Result?

def finalize: () -> void

private

def extract_schema?: () -> bool
end
end
Expand Down

0 comments on commit 4f25696

Please sign in to comment.