code: func HTTPRequestLookup(req *http.Request) (net.IP, error) {
  	if req == nil {
  		return nil, errors.New("whitelist: no request")
  	}
  
  	addr, _, err := net.SplitHostPort(req.RemoteAddr)
  	if err != nil {
  		return nil, err
  	}
  
  	ip := net.ParseIP(addr)
  	return ip, nil
  
  }
docs: // HTTPRequestLookup extracts an IP from the remote address in a
  // *http.Request. A single *http.Request should be passed to Address.