Exception: CloudConvert::Error

Inherits:
StandardError
  • Object
show all
Defined in:
lib/cloudconvert/error.rb

Constant Summary collapse

ClientError =

Raised when CloudConvert returns a 4xx HTTP status code

Class.new(self)
BadRequest =

Raised when CloudConvert returns the HTTP status code 400

Class.new(ClientError)
Unauthorized =

Raised when CloudConvert returns the HTTP status code 401

Class.new(ClientError)
PaymentRequired =

Raised when CloudConvert returns the HTTP status code 402

Class.new(ClientError)
Forbidden =

Raised when CloudConvert returns the HTTP status code 403

Class.new(ClientError)
RequestEntityTooLarge =

Raised when CloudConvert returns the HTTP status code 413

Class.new(ClientError)
NotFound =

Raised when CloudConvert returns the HTTP status code 404

Class.new(ClientError)
NotAcceptable =

Raised when CloudConvert returns the HTTP status code 406

Class.new(ClientError)
UnprocessableEntity =

Raised when CloudConvert returns the HTTP status code 422

Class.new(ClientError)
TooManyRequests =

Raised when CloudConvert returns the HTTP status code 429

Class.new(ClientError)
ServerError =

Raised when CloudConvert returns a 5xx HTTP status code

Class.new(self)
InternalServerError =

Raised when CloudConvert returns the HTTP status code 500

Class.new(ServerError)
BadGateway =

Raised when CloudConvert returns the HTTP status code 502

Class.new(ServerError)
ServiceUnavailable =

Raised when CloudConvert returns the HTTP status code 503

Class.new(ServerError)
GatewayTimeout =

Raised when CloudConvert returns the HTTP status code 504

Class.new(ServerError)
MediaError =

Raised when CloudConvert returns a media related error

Class.new(self)
InvalidMedia =

Raised when CloudConvert returns an InvalidMedia error

Class.new(MediaError)
MediaInternalError =

Raised when CloudConvert returns a media InternalError error

Class.new(MediaError)
UnsupportedMedia =

Raised when CloudConvert returns an UnsupportedMedia error

Class.new(MediaError)
TimeoutError =

Raised when an operation subject to timeout takes too long

Class.new(self)
ERRORS =
{
  400 => CloudConvert::Error::BadRequest,
  401 => CloudConvert::Error::Unauthorized,
  402 => CloudConvert::Error::PaymentRequired,
  403 => CloudConvert::Error::Forbidden,
  404 => CloudConvert::Error::NotFound,
  406 => CloudConvert::Error::NotAcceptable,
  413 => CloudConvert::Error::RequestEntityTooLarge,
  422 => CloudConvert::Error::UnprocessableEntity,
  429 => CloudConvert::Error::TooManyRequests,
  500 => CloudConvert::Error::InternalServerError,
  502 => CloudConvert::Error::BadGateway,
  503 => CloudConvert::Error::ServiceUnavailable,
  504 => CloudConvert::Error::GatewayTimeout,
}.freeze

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(message = "", code = nil, errors = {}) ⇒ CloudConvert::Error

Initializes a new Error object

Parameters:

  • message (Exception, String) (defaults to: "")
  • code (Integer) (defaults to: nil)


101
102
103
104
105
106
# File 'lib/cloudconvert/error.rb', line 101

def initialize(message = "", code = nil, errors = {})
  super(message)

  @code = code
  @errors = errors
end

Instance Attribute Details

#codeInteger (readonly)

Returns:

  • (Integer)


4
5
6
# File 'lib/cloudconvert/error.rb', line 4

def code
  @code
end

#errorsOpenStruct (readonly)

Returns:

  • (OpenStruct)


7
8
9
# File 'lib/cloudconvert/error.rb', line 7

def errors
  @errors
end

Class Method Details

.from_response(response) ⇒ CloudConvert::Error

Create a new error from an HTTP response

Parameters:

  • response (Faraday::Response)

Returns:



90
91
92
93
# File 'lib/cloudconvert/error.rb', line 90

def from_response(response)
  klass = ERRORS[response.status] || self
  klass.new(response.body.message, response.body.code, response.body.errors)
end