// validateKiteKey returns a string representing the kite uniquely // that is suitable to use as a key for etcd. func validateKiteKey(k *protocol.Kite) error { fields := k.Query().Fields() // Validate fields. for k, v := range fields { if v == "" { return fmt.Errorf("Empty Kite field: %s", k) } if strings.ContainsRune(v, '/') { return fmt.Errorf("Field \"%s\" must not contain '/'", k) } } return nil }