Files
kubernetes/vendor/github.com/gophercloud/gophercloud/openstack/utils/base_endpoint.go
Davanum Srinivas 55a8dbcbfb Update to latest gophercloud
Change-Id: I0145b899576f76e7116152fee978bc04b05080f8
2019-01-30 11:46:17 -05:00

29 lines
521 B
Go

package utils
import (
"net/url"
"regexp"
"strings"
)
// BaseEndpoint will return a URL without the /vX.Y
// portion of the URL.
func BaseEndpoint(endpoint string) (string, error) {
u, err := url.Parse(endpoint)
if err != nil {
return "", err
}
u.RawQuery, u.Fragment = "", ""
path := u.Path
versionRe := regexp.MustCompile("v[0-9.]+/?")
if version := versionRe.FindString(path); version != "" {
versionIndex := strings.Index(path, version)
u.Path = path[:versionIndex]
}
return u.String(), nil
}