Allow missing trailing '/' in --repo url

Signed-off-by: Karuppiah Natarajan <karuppiah7890@gmail.com>

Co-authored-by: Nandhagopal Ezhilmaran <nandhagr8@gmail.com>
pull/6121/head
Karuppiah Natarajan 5 years ago
parent e258418837
commit 8d660a96a0
No known key found for this signature in database
GPG Key ID: C674A28337662A96

@ -83,6 +83,7 @@ type renderable struct {
const warnStartDelim = "HELM_ERR_START"
const warnEndDelim = "HELM_ERR_END"
var warnRegex = regexp.MustCompile(warnStartDelim + `(.*)` + warnEndDelim)
func warnWrap(warn string) string {

@ -267,5 +267,7 @@ func ResolveReferenceURL(baseURL, refURL string) (string, error) {
return "", errors.Wrapf(err, "failed to parse %s as URL", refURL)
}
// We need a trailing slash for ResolveReference to work, but make sure there isn't already one
parsedBaseURL.Path = strings.TrimSuffix(parsedBaseURL.Path, "/") + "/"
return parsedBaseURL.ResolveReference(parsedRefURL).String(), nil
}

@ -348,6 +348,14 @@ func TestResolveReferenceURL(t *testing.T) {
t.Errorf("%s", chartURL)
}
chartURL, err = ResolveReferenceURL("http://localhost:8123/charts-with-no-trailing-slash", "nginx-0.2.0.tgz")
if err != nil {
t.Errorf("%s", err)
}
if chartURL != "http://localhost:8123/charts-with-no-trailing-slash/nginx-0.2.0.tgz" {
t.Errorf("%s", chartURL)
}
chartURL, err = ResolveReferenceURL("http://localhost:8123", "https://kubernetes-charts.storage.googleapis.com/nginx-0.2.0.tgz")
if err != nil {
t.Errorf("%s", err)

Loading…
Cancel
Save