Skip to content
Snippets Groups Projects
Verified Commit 0e0a957c authored by Alexander Olofsson's avatar Alexander Olofsson
Browse files

Slightly simplify error handling for requests

parent 94fefd7e
No related branches found
No related tags found
No related merge requests found
Pipeline #100210 failed
......@@ -30,9 +30,9 @@ module LiudeskCMDB
attr_reader :code, :errors
def self.create(body, code)
return ServerError.new body, code if code.to_i >= 500 && code.to_i < 600
case code
when "500"
InternalServerError.new body, code
when "403"
ForbiddenError.new body, code
when "404"
......@@ -67,7 +67,7 @@ module LiudeskCMDB
class ForbiddenError < RequestError; end
class NotFoundError < RequestError; end
class UnprocessableError < RequestError; end
class InternalServerError < RequestError; end
class ServerError < RequestError; end
# Data models
module Models
......
......@@ -42,12 +42,7 @@ module LiudeskCMDB
if query
query = URI.encode_www_form(query) if query.is_a? Hash
if uri.query&.length&.positive?
uri.query += "&#{query}"
else
uri.query = query
end
uri.query = [uri.query, query].reject { |q| q.nil? || q.empty? }.join "&"
end
request = Net::HTTP.const_get(method.to_s.capitalize).new(uri.request_uri)
......@@ -62,7 +57,6 @@ module LiudeskCMDB
request["Content-Type"] = "application/json"
request.body = body
end
print_req_res request if logger.debug?
......@@ -73,9 +67,7 @@ module LiudeskCMDB
response.value
response.body
rescue Net::HTTPFatalError
raise LiudeskCMDB::RequestError.create(response.message, response.code)
rescue Net::HTTPClientException
rescue Net::HTTPClientException, Net::HTTPFatalError
begin
body = JSON.parse(response.body)
rescue StandardError => e
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment