Exception: Pike13::RateLimitError

Inherits:
APIError show all
Defined in:
lib/pike13/errors.rb

Overview

Raised when rate limit is exceeded (HTTP 429)

Examples:

Handle rate limiting

begin
  client.desk.people.all
rescue Pike13::RateLimitError => e
  puts "Rate limit exceeded. Resets at: #{e.rate_limit_reset}"
  sleep 60
  retry
end

Instance Attribute Summary collapse

Attributes inherited from APIError

#http_status, #response_body

Instance Method Summary collapse

Constructor Details

#initialize(message = nil, http_status: nil, response_body: nil, rate_limit_reset: nil) ⇒ RateLimitError

Returns a new instance of RateLimitError.

Parameters:

  • message (String, nil) (defaults to: nil)

    Error message

  • http_status (Integer, nil) (defaults to: nil)

    HTTP status code

  • response_body (Hash, String, nil) (defaults to: nil)

    API response body

  • rate_limit_reset (String, nil) (defaults to: nil)

    Timestamp when rate limit resets



63
64
65
66
# File 'lib/pike13/errors.rb', line 63

def initialize(message = nil, http_status: nil, response_body: nil, rate_limit_reset: nil)
  @rate_limit_reset = rate_limit_reset
  super(message, http_status: http_status, response_body: response_body)
end

Instance Attribute Details

#rate_limit_resetString? (readonly)

Timestamp when rate limit resets

Returns:

  • (String, nil)

    the current value of rate_limit_reset



56
57
58
# File 'lib/pike13/errors.rb', line 56

def rate_limit_reset
  @rate_limit_reset
end