Skip to content

Commit 4f25696

Browse files
committed
Update AppSec Processor and Context RBS
1 parent e3f599d commit 4f25696

File tree

3 files changed

+38
-15
lines changed

3 files changed

+38
-15
lines changed

lib/datadog/appsec/processor/context.rb

-1
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,6 @@ def run(input, timeout = WAF::LibDDWAF::DDWAF_RUN_TIMEOUT)
4141
@time_ext_ns += (stop_ns - start_ns)
4242
@timeouts += 1 if res.timeout
4343

44-
# TODO: handle the response
4544
res
4645
ensure
4746
@run_mutex.unlock

sig/datadog/appsec/processor.rbs

+18-8
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,39 @@
11
module Datadog
22
module AppSec
33
class Processor
4-
def self.active_context: () -> Context
4+
type rule = bool | ::Integer | ::String | ::Hash[::String, rule] | ::Array[rule]
5+
type ruleset = ::Hash[::String, rule]
56

6-
private
7+
@telemetry: Core::Telemetry::Component
8+
9+
@diagnostics: WAF::LibDDWAF::Object?
10+
11+
@addresses: ::Array[::String]
12+
13+
@handle: WAF::Handle
714

815
attr_reader diagnostics: WAF::LibDDWAF::Object?
16+
917
attr_reader addresses: ::Array[::String]
1018

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

15-
def initialize: (ruleset: ::Hash[untyped, untyped], telemetry: Core::Telemetry::Component) -> void
1621
def ready?: () -> bool
22+
1723
def finalize: () -> void
1824

19-
attr_reader handle: untyped
25+
def new_context: () -> Context
2026

2127
private
2228

2329
def require_libddwaf: () -> bool
30+
2431
def libddwaf_provides_waf?: () -> bool
25-
def create_waf_handle: (Core::Configuration::Settings::_AppSec settings, ::Hash[String, untyped] ruleset) -> bool
32+
33+
def create_waf_handle: (Core::Configuration::Settings::_AppSec settings, ruleset ruleset) -> bool
34+
2635
def libddwaf_platform: () -> ::String
36+
2737
def ruby_platforms: () -> ::Array[::String]
2838
end
2939
end

sig/datadog/appsec/processor/context.rbs

+20-6
Original file line numberDiff line numberDiff line change
@@ -2,24 +2,38 @@ module Datadog
22
module AppSec
33
class Processor
44
class Context
5-
type event = untyped
6-
type data = WAF::data
5+
@context: WAF::Context
6+
7+
@telemetry: Core::Telemetry::Component
8+
9+
@time_ns: ::Float
10+
11+
@time_ext_ns: ::Float
12+
13+
@timeouts: ::Integer
14+
15+
@events: ::Array[untyped]
16+
17+
@run_mutex: ::Thread::Mutex
718

819
attr_reader time_ns: ::Float
20+
921
attr_reader time_ext_ns: ::Float
22+
1023
attr_reader timeouts: ::Integer
11-
attr_reader events: ::Array[event]
1224

13-
@context: WAF::Context
25+
attr_reader events: ::Array[untyped]
1426

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

17-
def initialize: (Processor processor) -> void
1829
def run: (Hash[untyped, untyped] input, ?::Integer timeout) -> WAF::Result
30+
1931
def extract_schema: () -> WAF::Result?
32+
2033
def finalize: () -> void
2134

2235
private
36+
2337
def extract_schema?: () -> bool
2438
end
2539
end

0 commit comments

Comments
 (0)