File tree 3 files changed +38
-15
lines changed
lib/datadog/appsec/processor
3 files changed +38
-15
lines changed Original file line number Diff line number Diff line change @@ -41,7 +41,6 @@ def run(input, timeout = WAF::LibDDWAF::DDWAF_RUN_TIMEOUT)
41
41
@time_ext_ns += ( stop_ns - start_ns )
42
42
@timeouts += 1 if res . timeout
43
43
44
- # TODO: handle the response
45
44
res
46
45
ensure
47
46
@run_mutex . unlock
Original file line number Diff line number Diff line change 1
1
module Datadog
2
2
module AppSec
3
3
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]
5
6
6
- private
7
+ @telemetry: Core::Telemetry::Component
8
+
9
+ @diagnostics: WAF::LibDDWAF::Object?
10
+
11
+ @addresses: ::Array[::String]
12
+
13
+ @handle: WAF::Handle
7
14
8
15
attr_reader diagnostics: WAF::LibDDWAF::Object?
16
+
9
17
attr_reader addresses: ::Array[::String]
10
18
11
- @handle: WAF::Handle
12
- @ruleset: ::Hash[::String, untyped ]
13
- @addresses: ::Array[::String]
19
+ def initialize : (ruleset: ruleset, telemetry: Core::Telemetry::Component) -> void
14
20
15
- def initialize : (ruleset: ::Hash[untyped , untyped ], telemetry: Core::Telemetry::Component) -> void
16
21
def ready? : () -> bool
22
+
17
23
def finalize : () -> void
18
24
19
- attr_reader handle: untyped
25
+ def new_context : () -> Context
20
26
21
27
private
22
28
23
29
def require_libddwaf : () -> bool
30
+
24
31
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
+
26
35
def libddwaf_platform : () -> ::String
36
+
27
37
def ruby_platforms : () -> ::Array[::String]
28
38
end
29
39
end
Original file line number Diff line number Diff line change @@ -2,24 +2,38 @@ module Datadog
2
2
module AppSec
3
3
class Processor
4
4
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
7
18
8
19
attr_reader time_ns: ::Float
20
+
9
21
attr_reader time_ext_ns: ::Float
22
+
10
23
attr_reader timeouts: ::Integer
11
- attr_reader events: ::Array[event]
12
24
13
- @context: WAF::Context
25
+ attr_reader events: ::Array[ untyped ]
14
26
15
- @run_mutex: ::Thread::Mutex
27
+ def initialize : (WAF::Handle handle, telemetry: Core::Telemetry::Component) -> void
16
28
17
- def initialize : (Processor processor) -> void
18
29
def run : (Hash[untyped , untyped ] input, ?::Integer timeout) -> WAF::Result
30
+
19
31
def extract_schema : () -> WAF::Result?
32
+
20
33
def finalize : () -> void
21
34
22
35
private
36
+
23
37
def extract_schema? : () -> bool
24
38
end
25
39
end
You can’t perform that action at this time.
0 commit comments