Module: Datadog::AppSec::WAF

Defined in:
lib/datadog/appsec/waf.rb,
lib/datadog/appsec/waf/errors.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,
lib/datadog/appsec/waf/handle_builder.rb

Defined Under Namespace

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

Constant Summary collapse

Error =
Class.new(StandardError)
InstanceFinalizedError =
Class.new(Error)
ConversionError =
Class.new(Error)

Class Method Summary collapse

Class Method Details

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



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

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



36
37
38
# File 'lib/datadog/appsec/waf.rb', line 36

def logger
  @logger
end

.logger=(logger) ⇒ Object



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

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



18
19
20
# File 'lib/datadog/appsec/waf.rb', line 18

def version
  LibDDWAF.ddwaf_get_version
end