diff options
| author | Adnan Maolood <[email protected]> | 2021-02-21 09:43:23 -0500 |
|---|---|---|
| committer | Adnan Maolood <[email protected]> | 2021-02-21 09:43:23 -0500 |
| commit | 2ece48b0193d50a75ef92e956563cd60df7fca4f (patch) | |
| tree | 6adce70c2ac6909fd1fbce8a9ddc2efecf4791ca | |
| parent | client: Copy only what is needed from the Request (diff) | |
| download | go-gemini-2ece48b0193d50a75ef92e956563cd60df7fca4f.tar.xz go-gemini-2ece48b0193d50a75ef92e956563cd60df7fca4f.zip | |
Move punycode functions to client.go
| -rw-r--r-- | client.go | 23 | ||||
| -rw-r--r-- | punycode.go | 28 |
2 files changed, 23 insertions, 28 deletions
@@ -7,6 +7,9 @@ import ( "net" "net/url" "time" + "unicode/utf8" + + "golang.org/x/net/idna" ) // A Client is a Gemini client. Its zero value is a usable client. @@ -202,3 +205,23 @@ func splitHostPort(hostport string) (host, port string) { } return } + +func isASCII(s string) bool { + for i := 0; i < len(s); i++ { + if s[i] >= utf8.RuneSelf { + return false + } + } + return true +} + +// punycodeHostname returns the punycoded version of hostname. +func punycodeHostname(hostname string) (string, error) { + if net.ParseIP(hostname) != nil { + return hostname, nil + } + if isASCII(hostname) { + return hostname, nil + } + return idna.Lookup.ToASCII(hostname) +} diff --git a/punycode.go b/punycode.go deleted file mode 100644 index 58f84e5..0000000 --- a/punycode.go +++ /dev/null @@ -1,28 +0,0 @@ -package gemini - -import ( - "net" - "unicode/utf8" - - "golang.org/x/net/idna" -) - -func isASCII(s string) bool { - for i := 0; i < len(s); i++ { - if s[i] >= utf8.RuneSelf { - return false - } - } - return true -} - -// punycodeHostname returns the punycoded version of hostname. -func punycodeHostname(hostname string) (string, error) { - if net.ParseIP(hostname) != nil { - return hostname, nil - } - if isASCII(hostname) { - return hostname, nil - } - return idna.Lookup.ToASCII(hostname) -} |