fix: no need for idna conversion in domain validator

This commit is contained in:
Stavros
2026-08-23 00:58:11 +03:00
parent 61d372b288
commit 8614f8768b
4 changed files with 20 additions and 66 deletions
+2 -16
View File
@@ -11,8 +11,6 @@ import (
"net"
"net/url"
"strings"
"golang.org/x/net/idna"
)
// Errors
@@ -114,23 +112,11 @@ func (v *DomainValidator) getURL(i string) (*url.URL, error) {
}
func (v *DomainValidator) getHostname(hostname string) (string, error) {
hostname = strings.ToLower(hostname)
hostname = strings.TrimSuffix(hostname, ".")
if net.ParseIP(hostname) != nil {
return "", fmt.Errorf("ip addresses are not supported")
}
i := idna.New(
idna.MapForLookup(),
idna.Transitional(false),
idna.BidiRule(),
idna.StrictDomainName(false),
idna.CheckHyphens(false),
idna.CheckJoiners(false),
)
hostname, err := i.ToASCII(hostname)
if err != nil {
return "", fmt.Errorf("failed to convert hostname to ascii: %w", err)
}
hostname = strings.ToLower(hostname)
hostname = strings.TrimSuffix(hostname, ".")
return hostname, nil
}