module Fog::CloudSigma::Errors

Public Class Methods

slurp_http_status_error(error) click to toggle source
# File lib/fog/cloudsigma/error.rb, line 18
def self.slurp_http_status_error(error)
  error_class =  case error.response[:status]
                   when 404
                     NotFound
                   when 500..599
                     ServerError
                   when 400..499
                     RequestError
                   else
                     Error
                 end

  new_error = error_class.new(error.response[:body].first['error_message'],
                              error.response[:body].first['error_type'],
                              error.response[:body].first['error_point'])
  new_error.set_backtrace(error.backtrace)
  new_error.verbose = error.message
  new_error
end