Class: Datadog::Core::Transport::Config::Transport

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

Overview

Config transport

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(apis, default_api) ⇒ Transport

Returns a new instance of Transport.



36
37
38
39
40
# File 'lib/datadog/core/transport/config.rb', line 36

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.



34
35
36
# File 'lib/datadog/core/transport/config.rb', line 34

def apis
  @apis
end

#clientObject (readonly)

Returns the value of attribute client.



34
35
36
# File 'lib/datadog/core/transport/config.rb', line 34

def client
  @client
end

#current_api_idObject (readonly)

Returns the value of attribute current_api_id.



34
35
36
# File 'lib/datadog/core/transport/config.rb', line 34

def current_api_id
  @current_api_id
end

#default_apiObject (readonly)

Returns the value of attribute default_api.



34
35
36
# File 'lib/datadog/core/transport/config.rb', line 34

def default_api
  @default_api
end

Instance Method Details

#current_apiObject



51
52
53
# File 'lib/datadog/core/transport/config.rb', line 51

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

#send_config(payload) ⇒ Object

there is only one transport! it’s negotiation!



43
44
45
46
47
48
49
# File 'lib/datadog/core/transport/config.rb', line 43

def send_config(payload)
  json = JSON.dump(payload)
  parcel = EncodedParcel.new(json)
  request = Request.new(parcel)

  @client.send_config_payload(request)
end