Class: Proxy::Monitoring::IcingaDirector::DirectorClient
- Inherits:
-
Object
- Object
- Proxy::Monitoring::IcingaDirector::DirectorClient
- Includes:
- Log
- Defined in:
- lib/smart_proxy_monitoring_icingadirector/director_client.rb
Class Method Summary collapse
Instance Method Summary collapse
- #client(url) ⇒ Object
- #delete(url) ⇒ Object
- #get(url) ⇒ Object
- #post(url, payload) ⇒ Object
- #put(url, payload) ⇒ Object
- #request_url(url) ⇒ Object
Class Method Details
.instance ⇒ Object
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), ) 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 |