Module: Datadog::Core::Remote::Transport::HTTP

Defined in:
lib/datadog/core/remote/transport/http.rb,
lib/datadog/core/remote/transport/http/config.rb,
lib/datadog/core/remote/transport/http/negotiation.rb

Overview

Namespace for HTTP transport components

Defined Under Namespace

Modules: Config, Negotiation

Constant Summary collapse

ROOT =
Negotiation::API::Endpoint.new(
  '/info',
)
V7 =
Config::API::Endpoint.new(
  '/v0.7/config',
  Core::Encoding::JSONEncoder,
)

Class Method Summary collapse

Class Method Details

.root(agent_settings:, logger:, headers: nil) ⇒ Object

Builds a new Transport::HTTP::Client with default settings Pass a block to override any settings.



35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
# File 'lib/datadog/core/remote/transport/http.rb', line 35

def root(
  agent_settings:,
  logger:,
  headers: nil
)
  Core::Transport::HTTP.build(
    agent_settings: agent_settings,
    logger: logger,
    headers: headers
  ) do |transport|
    transport.api 'root', ROOT

    # Call block to apply any customization, if provided
    yield(transport) if block_given?
  end.to_transport(Core::Remote::Transport::Negotiation::Transport)
end

.v7(agent_settings:, logger:, headers: nil) ⇒ Object

Builds a new Transport::HTTP::Client with default settings Pass a block to override any settings.



54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
# File 'lib/datadog/core/remote/transport/http.rb', line 54

def v7(
  agent_settings:,
  logger:,
  headers: nil
)
  Core::Transport::HTTP.build(
    agent_settings: agent_settings,
    logger: logger,
    headers: headers
  ) do |transport|
    transport.api 'v7', V7

    # Call block to apply any customization, if provided
    yield(transport) if block_given?
  end.to_transport(Core::Remote::Transport::Config::Transport)
end