Class: APIEmissary

Inherits:
Object
  • Object
show all
Defined in:
lib/netuitive/api_emissary.rb

Instance Method Summary collapse

Constructor Details

#initialize(apiId, baseAddr, port) ⇒ APIEmissary

Returns a new instance of APIEmissary.



8
9
10
11
12
13
# File 'lib/netuitive/api_emissary.rb', line 8

def initialize(apiId, baseAddr, port)
	@apiId=apiId
	@baseAddr=baseAddr
	@port=port
	@configManager=ConfigManager.new
end

Instance Method Details

#sendElements(elements) ⇒ Object



15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# File 'lib/netuitive/api_emissary.rb', line 15

def sendElements(elements)
	if @configManager.isDebug?
		puts elements.to_json
	end

	uri = URI("#{@baseAddr}/ingest/#{@apiId}")
	req = Net::HTTP::Post.new(uri.path, initheader = {'Content-Type' =>'application/json'})
       req.body = elements.to_json
       response = Net::HTTP.start(uri.host, uri.port, :use_ssl => true) do |http|
 			http.verify_mode = OpenSSL::SSL::VERIFY_NONE
 			http.ssl_version = :SSLv3
 			http.request req
	end
	puts req.body
	if (response.code != "202" and @configManager.isError?) or (@configManager.isInfo?)
		puts "Response from submitting netuitive metrics to api
		code: #{response.code}
		message: #{response.message}
		body: #{response.body}"
	end
end