class Duracloud::ResponseHandler
Attributes
response[R]
Public Class Methods
call(response)
click to toggle source
# File lib/duracloud/response_handler.rb, line 4 def self.call(response) new(response).call end
new(response)
click to toggle source
# File lib/duracloud/response_handler.rb, line 10 def initialize(response) @response = response end
Public Instance Methods
call()
click to toggle source
# File lib/duracloud/response_handler.rb, line 14 def call handle_error log_response end
error_message()
click to toggle source
# File lib/duracloud/response_handler.rb, line 37 def error_message if response.plain_text? && response.has_body? response.body else [ response.status, response.reason ].join(' ') end end
exception()
click to toggle source
# File lib/duracloud/response_handler.rb, line 45 def exception case response.status when 400 BadRequestError when 404 NotFoundError when 409 ConflictError else if response.status >= 500 ServerError else Error end end end
handle_error()
click to toggle source
# File lib/duracloud/response_handler.rb, line 31 def handle_error if response.error? raise exception, error_message end end
log_response()
click to toggle source
# File lib/duracloud/response_handler.rb, line 19 def log_response if loggable_response_body? Duracloud.logger.info(response.body) end end
loggable_response_body?()
click to toggle source
# File lib/duracloud/response_handler.rb, line 25 def loggable_response_body? %w(POST PUT DELETE).include?(response.request_method) && response.plain_text? && response.has_body? end