class FaradayMiddleware::Request::Retry
Faraday middleware to handle HTTP Status 429 (rate limiting) / 503 (maintenance)
Attributes
retry_util[R]
Public Class Methods
new(app, opts = {})
click to toggle source
Calls superclass method
# File lib/faraday_middleware-request-retry/retry.rb, line 9 def initialize(app, opts = {}) super app @retry_util = FaradayMiddleware::Request::RetryUtil.new opts end
Public Instance Methods
call(env)
click to toggle source
# File lib/faraday_middleware-request-retry/retry.rb, line 14 def call(env) original_env = env.dup response = @app.call env retry_status = @retry_util.retry_status response.env[:status], response.env[:response_headers][:retry_after] if retry_status @app.call original_env else response end end