lib/api-client/parser.rb in api-client-1.8.2 vs lib/api-client/parser.rb in api-client-1.9.0

- old
+ new

@@ -3,27 +3,27 @@ # ApiClient::Parser provides a method to parse the request response. module ApiClient::Parser # Parse the JSON response. # # @param [HTTP] response HTTP object for the request. - # @return [Array] the code and the body parsed. + # @return [Hash] the body parsed. def self.response(response) - raise_exception(response.code) + raise_exception(response) begin object = ::JSON.parse(response.body) rescue ::JSON::ParserError, TypeError object = {} end object end protected - def self.raise_exception(code) - case code.to_i + def self.raise_exception(response) + case response.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 404 then raise ApiClient::Exceptions::NotFound.new(response.request.url) when 500 then raise ApiClient::Exceptions::InternalServerError when 502 then raise ApiClient::Exceptions::BadGateway when 503 then raise ApiClient::Exceptions::ServiceUnavailable else return end