Module: Datadog::Transport::HTTP
- Includes:
- Kernel
- Defined in:
- lib/ddtrace/transport/http.rb,
lib/ddtrace/transport/http/api.rb,
lib/ddtrace/transport/http/env.rb,
lib/ddtrace/transport/http/client.rb,
lib/ddtrace/transport/http/traces.rb,
lib/ddtrace/transport/http/api/map.rb,
lib/ddtrace/transport/http/builder.rb,
lib/ddtrace/transport/http/api/spec.rb,
lib/ddtrace/transport/http/response.rb,
lib/ddtrace/transport/http/statistics.rb,
lib/ddtrace/transport/http/adapters/net.rb,
lib/ddtrace/transport/http/api/endpoint.rb,
lib/ddtrace/transport/http/api/instance.rb,
lib/ddtrace/transport/http/adapters/test.rb,
lib/ddtrace/transport/http/api/fallbacks.rb,
lib/ddtrace/transport/http/adapters/registry.rb,
lib/ddtrace/transport/http/adapters/unix_socket.rb
Overview
Namespace for HTTP transport components
Defined Under Namespace
Modules: API, Adapters, Response, Statistics, Traces
Classes: Builder, Client, Env
Class Method Summary
collapse
Class Method Details
.default(agent_settings: Datadog::Configuration::AgentSettingsResolver::ENVIRONMENT_AGENT_SETTINGS, **options) ⇒ Object
Builds a new Transport::HTTP::Client with default settings Pass a block to override any settings.
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
|
# File 'lib/ddtrace/transport/http.rb', line 31
def default(agent_settings: Datadog::Configuration::AgentSettingsResolver::ENVIRONMENT_AGENT_SETTINGS, **options)
new do |transport|
transport.adapter(
default_adapter,
agent_settings.hostname,
agent_settings.port,
timeout: agent_settings.timeout_seconds,
ssl: agent_settings.ssl
)
transport.
if agent_settings.deprecated_for_removal_transport_configuration_options
options = options.merge(**agent_settings.deprecated_for_removal_transport_configuration_options)
end
apis = API.defaults
transport.api API::V4, apis[API::V4], fallback: API::V3, default: true
transport.api API::V3, apis[API::V3], fallback: API::V2
transport.api API::V2, apis[API::V2]
unless options.empty?
transport.default_api = options[:api_version] if options.key?(:api_version)
transport. options[:headers] if options.key?(:headers)
end
if agent_settings.deprecated_for_removal_transport_configuration_proc
agent_settings.deprecated_for_removal_transport_configuration_proc.call(transport)
end
yield(transport) if block_given?
end
end
|
.default_adapter ⇒ Object
82
83
84
|
# File 'lib/ddtrace/transport/http.rb', line 82
def default_adapter
:net_http
end
|
69
70
71
72
73
74
75
76
77
78
79
80
|
# File 'lib/ddtrace/transport/http.rb', line 69
def
{
Datadog::Ext::Transport::HTTP:: => Datadog::Core::Environment::Ext::LANG,
Datadog::Ext::Transport::HTTP:: => Datadog::Core::Environment::Ext::LANG_VERSION,
Datadog::Ext::Transport::HTTP:: => Datadog::Core::Environment::Ext::LANG_INTERPRETER,
Datadog::Ext::Transport::HTTP:: => Datadog::Core::Environment::Ext::TRACER_VERSION
}.tap do ||
container_id = Datadog::Core::Environment::Container.container_id
[Datadog::Ext::Transport::HTTP::] = container_id unless container_id.nil?
end
end
|
.default_hostname(logger: Datadog.logger) ⇒ Object
86
87
88
89
90
91
92
93
|
# File 'lib/ddtrace/transport/http.rb', line 86
def default_hostname(logger: Datadog.logger)
logger.warn(
'Deprecated for removal: Using #default_hostname for configuration is deprecated and will ' \
'be removed on a future ddtrace release.'
)
Datadog::Configuration::AgentSettingsResolver::ENVIRONMENT_AGENT_SETTINGS.hostname
end
|
.default_port(logger: Datadog.logger) ⇒ Object
95
96
97
98
99
100
101
102
|
# File 'lib/ddtrace/transport/http.rb', line 95
def default_port(logger: Datadog.logger)
logger.warn(
'Deprecated for removal: Using #default_hostname for configuration is deprecated and will ' \
'be removed on a future ddtrace release.'
)
Datadog::Configuration::AgentSettingsResolver::ENVIRONMENT_AGENT_SETTINGS.port
end
|
.default_url(logger: Datadog.logger) ⇒ Object
104
105
106
107
108
109
110
111
|
# File 'lib/ddtrace/transport/http.rb', line 104
def default_url(logger: Datadog.logger)
logger.warn(
'Deprecated for removal: Using #default_url for configuration is deprecated and will ' \
'be removed on a future ddtrace release.'
)
nil
end
|
.new(&block) ⇒ Object
Builds a new Transport::HTTP::Client
25
26
27
|
# File 'lib/ddtrace/transport/http.rb', line 25
def new(&block)
Builder.new(&block).to_transport
end
|