class ActionDispatch::RemoteIp

def call(env)

calculate the memoized client IP address.
those requests that do need to know the IP, the GetIp#calculate_ip method will
calculating the IP to keep from slowing down the majority of requests. For
Since the IP address may not be needed, we store the object here without
def call(env)
  req = ActionDispatch::Request.new env
  req.remote_ip = GetIp.new(req, check_ip, proxies)
  @app.call(req.env)
end