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

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

Overview

Negotiation transport

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(apis, default_api) ⇒ Transport

Returns a new instance of Transport.



41
42
43
44
45
# File 'lib/datadog/core/transport/negotiation.rb', line 41

def initialize(apis, default_api)
  @apis = apis

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

Instance Attribute Details

#apisObject (readonly)

Returns the value of attribute apis.



39
40
41
# File 'lib/datadog/core/transport/negotiation.rb', line 39

def apis
  @apis
end

#clientObject (readonly)

Returns the value of attribute client.



39
40
41
# File 'lib/datadog/core/transport/negotiation.rb', line 39

def client
  @client
end

#current_api_idObject (readonly)

Returns the value of attribute current_api_id.



39
40
41
# File 'lib/datadog/core/transport/negotiation.rb', line 39

def current_api_id
  @current_api_id
end

#default_apiObject (readonly)

Returns the value of attribute default_api.



39
40
41
# File 'lib/datadog/core/transport/negotiation.rb', line 39

def default_api
  @default_api
end

Instance Method Details

#current_apiObject



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

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

#send_infoObject



47
48
49
50
51
# File 'lib/datadog/core/transport/negotiation.rb', line 47

def send_info
  request = Request.new

  @client.send_info_payload(request)
end