in postdeploy-hooks/k8s-cleanup/results.go [62:80]
func parseGCSURI(uri string) (gcsObjectURI, error) {
var obj gcsObjectURI
u, err := url.Parse(uri)
if err != nil {
return gcsObjectURI{}, fmt.Errorf("cannot parse URI %q: %w", uri, err)
}
if u.Scheme != "gs" {
return gcsObjectURI{}, fmt.Errorf("URI scheme is %q, must be 'gs'", u.Scheme)
}
if u.Host == "" {
return gcsObjectURI{}, errors.New("bucket name is empty")
}
obj.bucket = u.Host
obj.name = strings.TrimLeft(u.Path, "/")
if obj.name == "" {
return gcsObjectURI{}, errors.New("object name is empty")
}
return obj, nil
}