class SentryApi::Error::ResponseError
Custom error class for rescuing from HTTP response errors.
Public Class Methods
new(response)
click to toggle source
Calls superclass method
# File lib/sentry-api/error.rb, line 17 def initialize(response) @response = response super(build_error_message) end
Public Instance Methods
response_status()
click to toggle source
Status code returned in the http response.
@return [Integer]
# File lib/sentry-api/error.rb, line 25 def response_status @response.code end
Private Instance Methods
build_error_message()
click to toggle source
Human friendly message.
@return [String]
# File lib/sentry-api/error.rb, line 34 def build_error_message parsed_response = @response.parsed_response message = parsed_response.message || parsed_response.error "Server responded with code #{@response.code}, message: " \ "#{handle_message(message)}. " \ "Request URI: #{@response.request.base_uri}#{@response.request.path}" end
handle_message(message)
click to toggle source
Handle error response message in case of nested hashes
# File lib/sentry-api/error.rb, line 44 def handle_message(message) case message when SentryApi::ObjectifiedHash message.to_h.sort.map do |key, val| "'#{key}' #{(val.is_a?(Hash) ? val.sort.map { |k, v| "(#{k}: #{v.join(' ')})" } : val).join(' ')}" end.join(', ') when Array message.join(' ') else message end end