Sha256: da18075b974e727709aba741a792c0ac420e5d6d7eee10cd01eeefcaeb7427d1

Contents?: true

Size: 1.15 KB

Versions: 2

Compression:

Stored size: 1.15 KB

Contents

module TreasureData

class ParameterValidationError < StandardError
end

# Generic API error
class APIError < StandardError
  attr_reader :api_backtrace

  def initialize(error_message = nil, api_backtrace = nil)
    super(error_message)
    @api_backtrace = api_backtrace == '' ? nil : api_backtrace
  end
end

# 4xx Client Errors
class ClientError < APIError
end

# 400 Bad Request
class BadRequestError < ClientError
end

# 401 Unauthorized
class AuthError < ClientError
end

# 403 Forbidden, used for database permissions
class ForbiddenError < ClientError
end

# 404 Not Found
class NotFoundError < ClientError
end

# 405 Method Not Allowed
class MethodNotAllowedError < ClientError
end

# 409 Conflict
class AlreadyExistsError < ClientError
  attr_reader :conflicts_with
  def initialize(error_message = nil, api_backtrace = nil, conflicts_with=nil)
    super(error_message, api_backtrace)
    @conflicts_with = conflicts_with
  end
end

# 415 Unsupported Media Type
class UnsupportedMediaTypeError < ClientError
end

# 422 Unprocessable Entity
class UnprocessableEntityError < ClientError
end

# 429 Too Many Requests
class TooManyRequestsError < ClientError
end

end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
td-client-2.0.0 lib/td/client/api_error.rb
td-client-1.0.8 lib/td/client/api_error.rb