Module: Datadog::AppSec::Contrib::Sinatra::Framework

Defined in:
lib/datadog/appsec/contrib/sinatra/framework.rb

Overview

Sinatra framework code, used to essentially:

  • handle configuration entries which are specific to Datadog tracing

  • instrument parts of the framework when needed

Class Method Summary collapse

Class Method Details

.activate_rack!(datadog_config, sinatra_config) ⇒ Object

Apply relevant configuration from Sinatra to Rack



23
24
25
26
27
# File 'lib/datadog/appsec/contrib/sinatra/framework.rb', line 23

def self.activate_rack!(datadog_config, sinatra_config)
  datadog_config.instrument(
    :rack,
  )
end

.config_with_defaults(datadog_config) ⇒ Object



18
19
20
# File 'lib/datadog/appsec/contrib/sinatra/framework.rb', line 18

def self.config_with_defaults(datadog_config)
  datadog_config[:sinatra]
end

.setupObject

Configure Rack from Sinatra, but only if Rack has not been configured manually beforehand



11
12
13
14
15
16
# File 'lib/datadog/appsec/contrib/sinatra/framework.rb', line 11

def self.setup
  Datadog::AppSec.configure do |datadog_config|
    sinatra_config = config_with_defaults(datadog_config)
    activate_rack!(datadog_config, sinatra_config)
  end
end