in azureappconfiguration/keyvault.go [118:142]
func parse(reference string) (*secretMetadata, error) {
secretURL, err := url.Parse(reference)
if err != nil {
return nil, fmt.Errorf("invalid URL format: %w", err)
}
trimmedPath := strings.TrimPrefix(secretURL.Path, "/")
segments := strings.Split(trimmedPath, "/")
if len(segments) < 2 || strings.ToLower(segments[0]) != "secrets" || segments[1] == "" {
return nil, fmt.Errorf("invalid Key Vault URL format: %s", reference)
}
secretName := segments[1]
var secretVersion string
if len(segments) > 2 {
secretVersion = segments[2]
}
return &secretMetadata{
host: strings.ToLower(secretURL.Host),
name: secretName,
version: secretVersion,
}, nil
}