From f6a8bfcdb31b3a42002e9d1c113bd547ffe5ef29 Mon Sep 17 00:00:00 2001 From: René 'Necoro' Neumann Date: Mon, 18 Oct 2021 18:22:35 +0200 Subject: Improve Url.String() --- pkg/config/url.go | 27 +++++++++++++++++++-------- 1 file changed, 19 insertions(+), 8 deletions(-) (limited to 'pkg/config/url.go') diff --git a/pkg/config/url.go b/pkg/config/url.go index 7e91411..4b3abf7 100644 --- a/pkg/config/url.go +++ b/pkg/config/url.go @@ -65,18 +65,29 @@ func (u *Url) UnmarshalYAML(value *yaml.Node) (err error) { } func (u Url) String() string { - scheme := u.Scheme + "://" + var sb strings.Builder - var pwd string - if u.Password != "" { - pwd = ":******" + sb.WriteString(u.Scheme) + sb.WriteString("://") + + if u.User != "" { + sb.WriteString(u.User) + if u.Password != "" { + sb.WriteString(":******") + } + sb.WriteRune('@') } - var delim string - if pwd != "" || u.User != "" { - delim = "@" + + sb.WriteString(u.HostPort()) + + if u.Root != "" { + if u.Root[0] != '/' { + sb.WriteRune('/') + } + sb.WriteString(u.Root) } - return scheme + u.User + pwd + delim + u.HostPort() + u.Root + return sb.String() } func (u *Url) HostPort() string { -- cgit v1.2.3-70-g09d2