func encode()

in internal/commands/interceptor/instance.go [152:170]


func encode(serviceID, nameFlagName, id, name string) (encodedID, encodedName string, err error) {
	if id != "" {
		parts := strings.Split(id, "_")
		if len(parts) != 2 {
			return "", "", fmt.Errorf("invalid instance id, cannot be splitted into 2 parts. %v", id)
		}
		s, err := base64.StdEncoding.DecodeString(parts[1])
		if err != nil {
			return "", "", err
		}
		name = string(s)
	} else if name != "" {
		if serviceID == "" {
			return "", "", fmt.Errorf(`"--%s" is specified but its related service name or id is not given`, nameFlagName)
		}
		id = serviceID + "_" + b64enc(name)
	}
	return id, name, nil
}