Exception: Acme::Client::Error::RateLimited

Inherits:
ServerError show all
Defined in:
lib/acme/client/error.rb,
lib/acme/client/error/rate_limited.rb

Constant Summary collapse

DEFAULT_MESSAGE =
'Error message: urn:ietf:params:acme:error:rateLimited'
DEFAULT_RETRY_SECONDS =
10

Constants inherited from Acme::Client::Error

ACME_ERRORS

Instance Attribute Summary

Attributes inherited from Acme::Client::Error

#acme_error_body, #retry_after, #retry_after_time, #subproblems

Instance Method Summary collapse

Constructor Details

#initialize(message = DEFAULT_MESSAGE, retry_after = nil, acme_error_body: nil, subproblems: nil) ⇒ RateLimited

Returns a new instance of RateLimited.



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

def initialize(message = DEFAULT_MESSAGE, retry_after = nil, acme_error_body: nil, subproblems: nil)
  retry_after_time = case retry_after
                     when Time then retry_after
                     when nil then Time.now + DEFAULT_RETRY_SECONDS
                     else Acme::Client::Util.parse_retry_after(retry_after) || Time.now + DEFAULT_RETRY_SECONDS
                     end
  int_retry_after = retry_after.nil? ? DEFAULT_RETRY_SECONDS : [(retry_after_time - Time.now).ceil, 0].max
  super(message, retry_after: int_retry_after, acme_error_body: acme_error_body, subproblems: subproblems)
  @retry_after_time = retry_after_time
end