code: func (r AndRule) Evaluate(headers, query, payload *map[string]interface{}, body *[]byte, remoteAddr string) (bool, error) {
  	res := true
  
  	for _, v := range r {
  		rv, err := v.Evaluate(headers, query, payload, body, remoteAddr)
  		if err != nil {
  			return false, err
  		}
  
  		res = res && rv
  		if !res {
  			return res, nil
  		}
  	}
  
  	return res, nil
  }
docs: // Evaluate AndRule will return true if and only if all of ChildRules evaluate to true