class Lithic::Errors::APIStatusError

def self.for(url:, status:, body:, request:, response:, message: nil)

Returns:
  • (self) -

Parameters:
  • message (String, nil) --
  • response (nil) --
  • request (nil) --
  • body (Object, nil) --
  • status (Integer) --
  • url (URI::Generic) --

Other tags:
    Api: - private
def self.for(url:, status:, body:, request:, response:, message: nil)
  kwargs = {
    url: url,
    status: status,
    body: body,
    request: request,
    response: response,
    message: message
  }
  case status
  in 400
    Lithic::Errors::BadRequestError.new(**kwargs)
  in 401
    Lithic::Errors::AuthenticationError.new(**kwargs)
  in 403
    Lithic::Errors::PermissionDeniedError.new(**kwargs)
  in 404
    Lithic::Errors::NotFoundError.new(**kwargs)
  in 409
    Lithic::Errors::ConflictError.new(**kwargs)
  in 422
    Lithic::Errors::UnprocessableEntityError.new(**kwargs)
  in 429
    Lithic::Errors::RateLimitError.new(**kwargs)
  in (500..)
    Lithic::Errors::InternalServerError.new(**kwargs)
  else
    Lithic::Errors::APIStatusError.new(**kwargs)
  end
end

def initialize(url:, status:, body:, request:, response:, message: nil)

Parameters:
  • message (String, nil) --
  • response (nil) --
  • request (nil) --
  • body (Object, nil) --
  • status (Integer) --
  • url (URI::Generic) --

Other tags:
    Api: - private
def initialize(url:, status:, body:, request:, response:, message: nil)
  message ||= {url: url.to_s, status: status, body: body}
  super(
    url: url,
    status: status,
    body: body,
    request: request,
    response: response,
    message: message&.to_s
  )
end