Module: Datadog::SymbolDatabase::Transport::HTTP Private

Defined in:
lib/datadog/symbol_database/transport/http.rb,
lib/datadog/symbol_database/transport/http/endpoint.rb

Overview

This module is part of a private API. You should avoid using this module if possible, as it may be removed or be changed in the future.

Namespace for HTTP transport components

Defined Under Namespace

Modules: API

Constant Summary collapse

SYMBOLS_ENDPOINT =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

POST endpoint for the agent's symbol database intake. Multipart form-data is dispatched via env.form from the Symbols::Client subclass.

API::Endpoint.new(
  "/symdb/v1/input",
  Datadog::Core::Encoding::JSONEncoder,
)

Class Method Summary collapse

Class Method Details

.symbols(agent_settings:, logger:, headers: nil) ⇒ Symbols::Transport

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Builds a transport for the symbols upload endpoint.

Parameters:

  • agent_settings (Core::Configuration::AgentSettingsResolver::AgentSettings)

    Agent connection settings (host, port, timeout, etc.)

  • logger (Logger)

    Logger instance

  • headers (Hash, nil) (defaults to: nil)

    Optional additional headers

Returns:



27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# File 'lib/datadog/symbol_database/transport/http.rb', line 27

def self.symbols(
  agent_settings:,
  logger:,
  headers: nil
)
  Core::Transport::HTTP.build(
    logger: logger,
    agent_settings: agent_settings,
    headers: headers,
  ) do |transport|
    transport.api "symbols", SYMBOLS_ENDPOINT, default: true

    yield(transport) if block_given?
  end.to_transport(SymbolDatabase::Transport::Symbols::Transport)
end