diff --git a/url.go b/url.go index aec6e95b..49c22b4c 100644 --- a/url.go +++ b/url.go @@ -41,12 +41,17 @@ func ParseURL(url string) (string, error) { var kvs []string escaper := strings.NewReplacer(`'`, `\'`, `\`, `\\`) - accrue := func(k, v string) { - if v != "" { - kvs = append(kvs, k+"='"+escaper.Replace(v)+"'") + accrue := func(key, value string) { + if value == "" { + return } + escapedValue := escaper.Replace(value) + entry := fmt.Sprintf("%s='%s'", key, escapedValue) + kvs = append(kvs, entry) } + + if u.User != nil { v := u.User.Username() accrue("user", v)