class Faraday::Retry::Middleware

def call(env)

Parameters:
  • env (Faraday::Env) --
def call(env)
  retries = @options.max
  request_body = env[:body]
  with_retries(env: env, options: @options, retries: retries, body: request_body, errmatch: @errmatch) do
    # after failure env[:body] is set to the response body
    env[:body] = request_body
    @app.call(env).tap do |resp|
      raise Faraday::RetriableResponse.new(nil, resp) if @options.retry_statuses.include?(resp.status)
    end
  end
end