code: func (auth *AuthProxy) IsAllowedIP() (bool, *Error) {
  	ip := auth.ctx.Req.RemoteAddr
  
  	if len(strings.TrimSpace(auth.whitelistIP)) == 0 {
  		return true, nil
  	}
  
  	proxies := strings.Split(auth.whitelistIP, ",")
  	var proxyObjs []*net.IPNet
  	for _, proxy := range proxies {
  		result, err := coerceProxyAddress(proxy)
  		if err != nil {
  			return false, newError("Could not get the network", err)
  		}
  
  		proxyObjs = append(proxyObjs, result)
  	}
  
  	sourceIP, _, _ := net.SplitHostPort(ip)
  	sourceObj := net.ParseIP(sourceIP)
  
  	for _, proxyObj := range proxyObjs {
  		if proxyObj.Contains(sourceObj) {
  			return true, nil
  		}
  	}
  
  	err := fmt.Errorf(
  		"Request for user (%s) from %s is not from the authentication proxy", auth.header,
  		sourceIP,
  	)
  
  	return false, newError("Proxy authentication required", err)
  }
docs: // IsAllowedIP compares presented IP with the whitelist one