Sha256: 8acfbf2e8f7aab4414742d79a9cdb3f678629140ea9ea24c5bd46b3fc026214b

Contents?: true

Size: 1.18 KB

Versions: 1

Compression:

Stored size: 1.18 KB

Contents

require 'json'

module BayonetClient

  class BayonetError < Exception
    attr_accessor :request_body, :request_headers, :http_response_code, :http_response_json,
                  :reason_code, :reason_message, :status

    def initialize(request_body, request_headers,
                   http_response_code, http_response_json)
      self.request_body = request_body
      self.request_headers = request_headers
      self.http_response_code = http_response_code
      self.http_response_json = http_response_json

      # Get reason_code and reason_message from response
      if http_response_json.class == HTTParty::Response && http_response_json.key?('reason_code')
        self.reason_code = http_response_json['reason_code']
      end
      if http_response_json.class == HTTParty::Response && http_response_json.key?('reason_message')
        self.reason_message = http_response_json['reason_message']
      else
        self.reason_message = http_response_json
      end
      if http_response_json.class == HTTParty::Response && http_response_json.key?('status')
        self.status = http_response_json['status']
      end
    end
  end

  class InvalidClientSetupError < Exception
  end

end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
bayonet_client-1.1.0 lib/bayonet_client/exceptions.rb