don't print url when url.Parse returns an error

pull/2082/head
Kevin Biju 2024-07-10 22:46:32 +05:30
parent 3563a2b048
commit f007d84675
No known key found for this signature in database
GPG Key ID: BDD74FF64FC644E7
1 changed files with 11 additions and 8 deletions

View File

@ -467,14 +467,17 @@ func parseEnvSettings() map[string]string {
func parseURLSettings(connString string) (map[string]string, error) { func parseURLSettings(connString string) (map[string]string, error) {
settings := make(map[string]string) settings := make(map[string]string)
url, err := url.Parse(connString) parsedURL, err := url.Parse(connString)
if err != nil { if err != nil {
return nil, err if urlErr := new(url.Error); errors.As(err, &urlErr) {
return nil, urlErr.Err
}
return nil, errors.New("failed to parse URL")
} }
if url.User != nil { if parsedURL.User != nil {
settings["user"] = url.User.Username() settings["user"] = parsedURL.User.Username()
if password, present := url.User.Password(); present { if password, present := parsedURL.User.Password(); present {
settings["password"] = password settings["password"] = password
} }
} }
@ -482,7 +485,7 @@ func parseURLSettings(connString string) (map[string]string, error) {
// Handle multiple host:port's in url.Host by splitting them into host,host,host and port,port,port. // Handle multiple host:port's in url.Host by splitting them into host,host,host and port,port,port.
var hosts []string var hosts []string
var ports []string var ports []string
for _, host := range strings.Split(url.Host, ",") { for _, host := range strings.Split(parsedURL.Host, ",") {
if host == "" { if host == "" {
continue continue
} }
@ -508,7 +511,7 @@ func parseURLSettings(connString string) (map[string]string, error) {
settings["port"] = strings.Join(ports, ",") settings["port"] = strings.Join(ports, ",")
} }
database := strings.TrimLeft(url.Path, "/") database := strings.TrimLeft(parsedURL.Path, "/")
if database != "" { if database != "" {
settings["database"] = database settings["database"] = database
} }
@ -517,7 +520,7 @@ func parseURLSettings(connString string) (map[string]string, error) {
"dbname": "database", "dbname": "database",
} }
for k, v := range url.Query() { for k, v := range parsedURL.Query() {
if k2, present := nameMap[k]; present { if k2, present := nameMap[k]; present {
k = k2 k = k2
} }