lib/zabbixapi/base.rb in zabbixapi-0.1.6 vs lib/zabbixapi/base.rb in zabbixapi-0.1.6.1

- old
+ new

@@ -23,11 +23,11 @@ class ZabbixApi attr_accessor :debug - def initialize ( api_url, api_user, api_password ) + def initialize (api_url, api_user, api_password) @api_url = api_url @api_user = api_user @api_password = api_password @debug = false # Disable debug by default @@ -43,11 +43,11 @@ message_json = JSON.generate(message) uri = URI.parse(@api_url) http = Net::HTTP.new(uri.host, uri.port) - if ( uri.scheme == "https" ) then + if uri.scheme == "https" http.use_ssl = true http.verify_mode = OpenSSL::SSL::VERIFY_NONE end request = Net::HTTP::Post.new(uri.request_uri) @@ -72,62 +72,61 @@ raise Zabbix::ResponseCodeError.new("Responce code from [" + @api_url + "] is #{response.code}") end response_body_hash = JSON.parse(response.body) + if @debug + puts "[ZBXAPI] : INFO : Response body" + puts response_body_hash.inspect + end + if error = response_body_hash['error'] error_message = error['message'] error_data = error['data'] error_code = error['code'] e_message = "Code: [" + error_code.to_s + "]. Message: [" + error_message +\ "]. Data: [" + error_data + "]." - case error_code.to_s - when '-32602' - raise Zabbix::AlreadyExist.new(e_message) - else - raise Zabbix::ResponseError.new(e_message) + case error_code.to_s + when '-32602' + raise Zabbix::AlreadyExist.new(e_message) + else + raise Zabbix::ResponseError.new(e_message) end end - result = response_body_hash['result'] - - return result + return response_body_hash['result'] end def send_request(message) message['auth'] = auth() do_request(message) end def auth() - auth_message = { - 'auth' => nil, - 'method' => 'user.authenticate', - 'params' => { - 'user' => @api_user, - 'password' => @api_password, - '0' => '0' - } + 'auth' => nil, + 'method' => 'user.authenticate', + 'params' => { + 'user' => @api_user, + 'password' => @api_password, + '0' => '0' + } } - - auth_id = do_request(auth_message) - - return auth_id + do_request(auth_message) end # Utils. + def merge_opt(a, b) c = {} - b.each_pair do |key, value| if a.has_key?(key) then c[key] = value end - end - + end return a.merge(c) end + end end