Class: Datadog::Core::Remote::Transport::Negotiation::Transport

Inherits:
Object
  • Object
show all
Defined in:
lib/datadog/core/remote/transport/negotiation.rb

Overview

Negotiation transport

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(apis, default_api, logger: Datadog.logger) ⇒ Transport

Returns a new instance of Transport.



54
55
56
57
58
59
# File 'lib/datadog/core/remote/transport/negotiation.rb', line 54

def initialize(apis, default_api, logger: Datadog.logger)
  @apis = apis
  @logger = logger

  @client = HTTP::Client.new(current_api, logger: logger)
end

Instance Attribute Details

#apisObject (readonly)

Returns the value of attribute apis.



52
53
54
# File 'lib/datadog/core/remote/transport/negotiation.rb', line 52

def apis
  @apis
end

#clientObject (readonly)

Returns the value of attribute client.



52
53
54
# File 'lib/datadog/core/remote/transport/negotiation.rb', line 52

def client
  @client
end

#current_api_idObject (readonly)

Returns the value of attribute current_api_id.



52
53
54
# File 'lib/datadog/core/remote/transport/negotiation.rb', line 52

def current_api_id
  @current_api_id
end

#default_apiObject (readonly)

Returns the value of attribute default_api.



52
53
54
# File 'lib/datadog/core/remote/transport/negotiation.rb', line 52

def default_api
  @default_api
end

#loggerObject (readonly)

Returns the value of attribute logger.



52
53
54
# File 'lib/datadog/core/remote/transport/negotiation.rb', line 52

def logger
  @logger
end

Instance Method Details

#current_apiObject



67
68
69
# File 'lib/datadog/core/remote/transport/negotiation.rb', line 67

def current_api
  @apis[HTTP::API::ROOT]
end

#send_infoObject



61
62
63
64
65
# File 'lib/datadog/core/remote/transport/negotiation.rb', line 61

def send_info
  request = Request.new

  @client.send_info_payload(request)
end