Module: Datadog::AppSec::WAF

Defined in:
lib/datadog/appsec/waf.rb,
lib/datadog/appsec/waf/handle.rb,
lib/datadog/appsec/waf/result.rb,
lib/datadog/appsec/waf/context.rb,
lib/datadog/appsec/waf/version.rb,
lib/datadog/appsec/waf/converter.rb,
lib/datadog/appsec/waf/lib_ddwaf.rb

Defined Under Namespace

Modules: Converter, LibDDWAF, VERSION Classes: Context, Handle, Result

Class Method Summary collapse

Class Method Details

.log_callback(level, func, file, line, message, len) ⇒ Object



20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/datadog/appsec/waf.rb', line 20

def log_callback(level, func, file, line, message, len)
  return if WAF.logger.nil?

  WAF.logger.debug do
    {
      level: level,
      func: func,
      file: file,
      line: line,
      message: message.read_bytes(len)
    }.inspect
  end
end

.loggerObject



34
35
36
# File 'lib/datadog/appsec/waf.rb', line 34

def logger
  @logger
end

.logger=(logger) ⇒ Object



38
39
40
41
42
43
44
45
46
47
48
# File 'lib/datadog/appsec/waf.rb', line 38

def logger=(logger)
  unless @log_callback
    log_callback = WAF.method(:log_callback)
    LibDDWAF.ddwaf_set_log_cb(log_callback, :ddwaf_log_trace)

    # retain logging proc if set properly
    @log_callback = log_callback
  end

  @logger = logger
end

.versionObject



16
17
18
# File 'lib/datadog/appsec/waf.rb', line 16

def version
  LibDDWAF.ddwaf_get_version
end