module HelpDeskAPI::Request
Public Class Methods
request(method, endpoint, payload = nil, headers = {})
click to toggle source
Contact API given endpoint and return JSON
# File lib/helpdeskapi/request.rb, line 12 def self.request(method, endpoint, payload = nil, headers = {}) headers = headers.merge({:cookies => HelpDeskAPI::Authentication.cookies}) endpoint_response = nil case method when 'POST' @api[endpoint].post(payload, headers) { |response, _, _, _| endpoint_response = response } when 'GET' endpoint_response = @api[endpoint].get(headers) when 'DELETE' endpoint_response = @api[endpoint].delete(headers) when 'PUT' endpoint_response = @api[endpoint].put(payload, headers) end if responseError?(endpoint_response) fail HelpDeskAPI::Exceptions.RequestError, "Error contacting #{endpoint_response.request.url} with HTTP code: #{endpoint_response.code}" end return endpoint_response end
responseError?(response)
click to toggle source
Returns true if response contains HTTP error code.
# File lib/helpdeskapi/request.rb, line 35 def self.responseError?(response) error_codes = [400, 401, 402, 403, 404, 500, 501, 502, 503] error_codes.include? response.code end