lib/pardot/http.rb in ruby-pardot-1.0 vs lib/pardot/http.rb in ruby-pardot-1.0.2

- old
+ new

@@ -7,11 +7,11 @@ check_response self.class.get(full_path, :query => params) rescue Pardot::ExpiredApiKeyError => e handle_expired_api_key :get, object, path, params, num_retries, e - rescue SocketError, Interrupt, EOFError, SystemCallError => e + rescue SocketError, Interrupt, EOFError, SystemCallError, Timeout::Error, MultiXml::ParseError => e raise Pardot::NetError.new(e) end def post object, path, params = {}, num_retries = 0 smooth_params object, params @@ -19,11 +19,11 @@ check_response self.class.post(full_path, :query => params) rescue Pardot::ExpiredApiKeyError => e handle_expired_api_key :post, object, path, params, num_retries, e - rescue SocketError, Interrupt, EOFError, SystemCallError => e + rescue SocketError, Interrupt, EOFError, SystemCallError, Timeout::Error, MultiXml::ParseError => e raise Pardot::NetError.new(e) end protected @@ -45,11 +45,12 @@ def check_response http_response rsp = http_response["rsp"] error = rsp["err"] if rsp error ||= "Unknown Failure: #{rsp.inspect}" if rsp && rsp["stat"] == "fail" + content = error['__content__'] if error.is_a?(Hash) - if error == "Invalid API key or user key" && @api_key + if [error, content].include?("Invalid API key or user key") && @api_key raise ExpiredApiKeyError.new @api_key end raise ResponseError.new error if error