resolver: fix empty scheme

This commit is contained in:
Vladislav Yarmak
2025-09-24 00:32:48 +03:00
parent 60f9f55cd1
commit 30d8aee5ba
+10 -1
View File
@@ -10,6 +10,7 @@ import (
)
func FromURL(u string) (*net.Resolver, error) {
begin:
parsed, err := url.Parse(u)
if err != nil {
return nil, err
@@ -17,7 +18,15 @@ func FromURL(u string) (*net.Resolver, error) {
host := parsed.Hostname()
port := parsed.Port()
switch scheme := strings.ToLower(parsed.Scheme); scheme {
case "", "udp", "dns":
case "":
switch {
case strings.HasPrefix(u, "//"):
u = "dns:" + u
default:
u = "dns://" + u
}
goto begin
case "udp", "dns":
if port == "" {
port = "53"
}