lib/solusvm/base.rb in solusvm-0.5.1 vs lib/solusvm/base.rb in solusvm-0.6.0
- old
+ new
@@ -24,10 +24,11 @@
end
http.start do |http|
request = Net::HTTP::Get.new("#{api_endpoint.path}?#{options.to_query}")
response = http.request(request)
+ handle_errors(response.body)
@returned_parameters = parse_response(response.body)
log_messages(options)
end
successful?
end
@@ -36,10 +37,22 @@
def parse_response(body)
body = "<solusrequest>#{body}</solusrequest>"
XmlSimple.xml_in(body, 'ForceArray' => false)
end
+ # Look for known error messages
+ def handle_errors(body)
+ case body.downcase
+ when /invalid ipaddress/i
+ raise "This IP is not authorized to use the API"
+ when /Invalid id or key/i
+ raise "Invalid ID or key"
+ when /Node not found/i
+ raise "Node does not exist"
+ end
+ end
+
# Returns true when a request has been successful
#
# my_class = MyClass.new
# my_class.create_server('example.com')
# my_class.successful? # => true
@@ -78,6 +91,6 @@
unless VALID_SERVER_TYPES.include?(type)
raise SolusvmError, "Invalid Virtual Server type: #{type}"
end
end
end
-end
\ No newline at end of file
+end