Class: Proxy::Monitoring::IcingaDirector::DirectorClient

Inherits:
Object
  • Object
show all
Includes:
Log
Defined in:
lib/smart_proxy_monitoring_icingadirector/director_client.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.instanceObject



8
9
10
# File 'lib/smart_proxy_monitoring_icingadirector/director_client.rb', line 8

def self.instance
  @instance ||= new
end

Instance Method Details

#client(url) ⇒ Object



12
13
14
15
16
17
# File 'lib/smart_proxy_monitoring_icingadirector/director_client.rb', line 12

def client(url)
  RestClient::Resource.new(
    request_url(url),
    request_options
  )
end

#delete(url) ⇒ Object



44
45
46
47
48
49
# File 'lib/smart_proxy_monitoring_icingadirector/director_client.rb', line 44

def delete(url)
  logger.debug "IcingaDirector: DELETE request to #{url}"
  client(url).delete.body
rescue StandardError => e
  raise handle_http_exception(e, url)
end

#get(url) ⇒ Object



23
24
25
26
27
28
# File 'lib/smart_proxy_monitoring_icingadirector/director_client.rb', line 23

def get(url)
  logger.debug "IcingaDirector: GET request to #{url}"
  client(url).get.body
rescue StandardError => e
  raise handle_http_exception(e, url)
end

#post(url, payload) ⇒ Object



30
31
32
33
34
35
# File 'lib/smart_proxy_monitoring_icingadirector/director_client.rb', line 30

def post(url, payload)
  logger.debug "IcingaDirector: POST request to #{url} with payload: #{payload}"
  client(url).post(payload).body
rescue StandardError => e
  raise handle_http_exception(e, url)
end

#put(url, payload) ⇒ Object



37
38
39
40
41
42
# File 'lib/smart_proxy_monitoring_icingadirector/director_client.rb', line 37

def put(url, payload)
  logger.debug "IcingaDirector: PUT request to #{url} with payload: #{payload}"
  client(url).put(payload).body
rescue StandardError => e
  raise handle_http_exception(e, url)
end

#request_url(url) ⇒ Object



19
20
21
# File 'lib/smart_proxy_monitoring_icingadirector/director_client.rb', line 19

def request_url(url)
  URI.join(baseurl, url).to_s
end