Module: Datadog::CI::Transport::Api::Builder

Defined in:
lib/datadog/ci/transport/api/builder.rb

Class Method Summary collapse

Class Method Details

.build_ci_test_cycle_api(settings) ⇒ Object



13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/datadog/ci/transport/api/builder.rb', line 13

def self.build_ci_test_cycle_api(settings)
  dd_site = settings.site || Ext::Transport::DEFAULT_DD_SITE
  url = settings.ci.agentless_url ||
    "https://#{Ext::Transport::TEST_VISIBILITY_INTAKE_HOST_PREFIX}.#{dd_site}:443"

  uri = URI.parse(url)
  raise "Invalid agentless mode URL: #{url}" if uri.host.nil?

  http = Datadog::CI::Transport::HTTP.new(
    host: uri.host,
    port: uri.port,
    ssl: uri.scheme == "https" || uri.port == 443,
    compress: true
  )

  CiTestCycle.new(api_key: settings.api_key, http: http)
end

.build_evp_proxy_api(agent_settings) ⇒ Object



31
32
33
34
35
36
37
38
39
40
41
# File 'lib/datadog/ci/transport/api/builder.rb', line 31

def self.build_evp_proxy_api(agent_settings)
  http = Datadog::CI::Transport::HTTP.new(
    host: agent_settings.hostname,
    port: agent_settings.port,
    ssl: agent_settings.ssl,
    timeout: agent_settings.timeout_seconds,
    compress: false
  )

  EvpProxy.new(http: http)
end