class Fbe::Middleware::RateLimit

def handle_rate_limit_request(env)

Returns:
  • (Faraday::Response) - Cached or fresh response

Parameters:
  • env (Faraday::Env) -- The request environment
def handle_rate_limit_request(env)
  if @cached_response.nil? || @request_counter >= 100
    response = @app.call(env)
    @cached_response = response.dup
    @remaining_count = extract_remaining_count(response)
    @request_counter = 0
    response
  else
    response = @cached_response.dup
    update_remaining_count(response)
    Faraday::Response.new(response_env(env, response))
  end
end