Exception: Spree::API::Client::Error::ClientError

Inherits:
Spree::API::Client::Error show all
Defined in:
lib/spree-api-client/error.rb

Overview

Raised when Spree returns a 4xx or 500 HTTP status code

Constant Summary

Constants inherited from Spree::API::Client::Error

ERROR_MAP

Instance Method Summary collapse

Constructor Details

#initialize(error = nil) ⇒ Spree::API::Client::Error::ClientError

Creates a new error from an HTTP environement

Parameters:

  • error (Exception) (defaults to: nil)


13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/spree-api-client/error.rb', line 13

def initialize(error=nil)
  if error.respond_to?(:response) && !error.response.nil?
    http_error = error.response[:status].to_i

    if ERROR_MAP.has_key?(http_error)
      raise ERROR_MAP[http_error].new(
        message: error.response[:body]["error"],
        validation_errors: error.response[:body]["errors"] || error.response[:body]["exception"])
    else
      super
    end
  else
    super
  end
end