module HTTPX::Plugins::Retries::OptionsMethods

  1. lib/httpx/plugins/retries.rb

adds support for the following options:

:max_retries

max number of times a request will be retried (defaults to 3).

:retry_change_requests

whether idempotent requests are retried (defaults to false).

:retry_after

seconds after which a request is retried; can also be a callable object (i.e. ->(req, res) { ... } )

:retry_jitter

number of seconds applied to :retry_after (must be a callable, i.e. ->(retry_after) { ... } ).

:retry_on

callable which alternatively defines a different rule for when a response is to be retried (i.e. ->(res) { ... }).

Public Instance methods

option_max_retries(value)
[show source]
   # File lib/httpx/plugins/retries.rb
77 def option_max_retries(value)
78   num = Integer(value)
79   raise TypeError, ":max_retries must be positive" unless num >= 0
80 
81   num
82 end
option_retry_after(value)
[show source]
   # File lib/httpx/plugins/retries.rb
60 def option_retry_after(value)
61   # return early if callable
62   unless value.respond_to?(:call)
63     value = Float(value)
64     raise TypeError, ":retry_after must be positive" unless value.positive?
65   end
66 
67   value
68 end
option_retry_change_requests(v)
[show source]
   # File lib/httpx/plugins/retries.rb
84 def option_retry_change_requests(v)
85   v
86 end
option_retry_jitter(value)
[show source]
   # File lib/httpx/plugins/retries.rb
70 def option_retry_jitter(value)
71   # return early if callable
72   raise TypeError, ":retry_jitter must be callable" unless value.respond_to?(:call)
73 
74   value
75 end
option_retry_on(value)
[show source]
   # File lib/httpx/plugins/retries.rb
88 def option_retry_on(value)
89   raise TypeError, ":retry_on must be called with the response" unless value.respond_to?(:call)
90 
91   value
92 end