lib/api-client/parser.rb in api-client-1.5.4 vs lib/api-client/parser.rb in api-client-1.6.0

- old
+ new

@@ -3,30 +3,30 @@ # Parse the JSON response. # # @param [HTTP] response HTTP object for the request. # @return [Array] the code and the body parsed. def self.response(response, remote_object) + raise_exception(response.code) begin object = JSON.parse(response.body) object = object[remote_object] if object.key?(remote_object) object = object[remote_object.pluralize] if object.key?(remote_object.pluralize) - rescue JSON::ParserError + rescue JSON::ParserError, TypeError object = {} end - raise_exception(response.code) object end protected def self.raise_exception(code) - case code - when '401' then raise ApiClient::Exceptions::Unauthorized - when '403' then raise ApiClient::Exceptions::Forbidden - when '404' then raise ApiClient::Exceptions::NotFound - when '500' then raise ApiClient::Exceptions::InternalServerError - when '502' then raise ApiClient::Exceptions::BadGateway - when '503' then raise ApiClient::Exceptions::ServiceUnavailable + case code.to_i + when 401 then raise ApiClient::Exceptions::Unauthorized + when 403 then raise ApiClient::Exceptions::Forbidden + when 404 then raise ApiClient::Exceptions::NotFound + when 500 then raise ApiClient::Exceptions::InternalServerError + when 502 then raise ApiClient::Exceptions::BadGateway + when 503 then raise ApiClient::Exceptions::ServiceUnavailable else return end end end \ No newline at end of file