def call(env)
      req = ActionDispatch::Request.new env
      req.remote_ip = GetIp.new(req, check_ip, proxies)
      @app.call(req.env)
    end
def call(env)
      req = ActionDispatch::Request.new env
      req.remote_ip = GetIp.new(req, check_ip, proxies)
      @app.call(req.env)
    end
Create a new +RemoteIp+ middleware instance.

 The +ip_spoofing_check+ option is on by default. When on, an exception
 is raised if it looks like the client is trying to lie about its own IP
 address. It makes sense to turn off this check on sites aimed at non-IP
 clients (like WAP devices), or behind proxies that set headers in an
 incorrect or confusing way (like AWS ELB).

 The +custom_proxies+ argument can take an Array of string, IPAddr, or
 Regexp objects which will be used instead of +TRUSTED_PROXIES+. If a
 single string, IPAddr, or Regexp object is provided, it will be used in
 addition to +TRUSTED_PROXIES+. Any proxy setup will put the value you
 want in the middle (or at the beginning) of the X-Forwarded-For list,
 with your proxy servers after it. If your proxies aren't removed, pass
 them in via the +custom_proxies+ parameter. That way, the middleware will
 ignore those IP addresses, and return the one that you want.
 Since the IP address may not be needed, we store the object here
 without calculating the IP to keep from slowing down the majority of
 requests. For those requests that do need to know the IP, the
 GetIp#calculate_ip method will calculate the memoized client IP address.