Exception: Betradar::Error

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

Constant Summary collapse

ClientError =

Raised when Betradar returns a 4xx HTTP status code

Class.new(self)
BadRequest =

Raised when Betradar returns the HTTP status code 400

Class.new(ClientError)
Unauthorized =

Raised when Betradar returns the HTTP status code 401

Class.new(ClientError)
Forbidden =

Raised when Betradar returns the HTTP status code 403

Class.new(ClientError)
NotFound =

Raised when Betradar returns the HTTP status code 404

Class.new(ClientError)
RateLimited =

Raised when Betradar returns the HTTP status code 429

Class.new(ClientError)
ServerError =

Raised when Betradar returns a 5xx HTTP status code

Class.new(self)
InternalServerError =

Raised when Betradar returns the HTTP status code 500

Class.new(ServerError)
ProxyError =

Raised when Betradar returns the HTTP status code 502

Class.new(ServerError)
ServiceUnavailable =

Raised when Betradar returns the HTTP status code 503

Class.new(ServerError)
Unknown =

Raised when Betradar returns unknown status code

Class.new(self)

Class Method Summary collapse

Class Method Details

.errorsObject



4
5
6
7
8
9
10
11
12
13
14
# File 'lib/betradar/error.rb', line 4

def errors
  @errors ||= {
    400 => Betradar::Error::BadRequest,
    401 => Betradar::Error::Unauthorized,
    403 => Betradar::Error::Forbidden,
    404 => Betradar::Error::NotFound,
    429 => Betradar::Error::RateLimited,
    500 => Betradar::Error::InternalServerError,
    502 => Betradar::Error::ProxyError
  }
end

.on_complete(response) ⇒ Object



16
17
18
19
# File 'lib/betradar/error.rb', line 16

def on_complete(response)
  klass = errors[response.try(:http_code)&.to_i] || Betradar::Error::Unknown
  fail klass.new(klass.new(response.inspect))
end