Module: HTTPX::Plugins::Retries
- Defined in:
- lib/httpx/plugins/retries.rb
Overview
This plugin adds support for retrying requests when errors happen.
It has a default max number of retries (see MAX_RETRIES and the max_retries option), after which it will return the last response, error or not. It will not raise an exception.
It does not retry which are not considered idempotent (see retry_change_requests to override).
Defined Under Namespace
Modules: InstanceMethods, OptionsMethods, RequestMethods, ResponseMethods
Constant Summary collapse
- MAX_RETRIES =
3
- IDEMPOTENT_METHODS =
TODO: pass max_retries in a configure/load block
%w[GET OPTIONS HEAD PUT DELETE].freeze
- RETRYABLE_ERRORS =
[ IOError, EOFError, Errno::ECONNRESET, Errno::ECONNABORTED, Errno::EPIPE, Errno::EINVAL, Errno::ETIMEDOUT, Parser::Error, TLSError, TimeoutError, ConnectionError, Connection::HTTP2::GoawayError, ].freeze
- DEFAULT_JITTER =
->(interval) { interval * ((rand + 1) * 0.5) }
Class Method Summary collapse
Class Method Details
.extra_options(options) ⇒ Object
37 38 39 |
# File 'lib/httpx/plugins/retries.rb', line 37 def self.() .merge(max_retries: MAX_RETRIES) end |