Remove top-level Get and Do functions

This commit is contained in:
Adnan Maolood
2020-11-09 12:04:53 -05:00
parent 76dfe257f1
commit 46cbcfcaa4
6 changed files with 60 additions and 84 deletions

View File

@@ -2,7 +2,6 @@ package gemini
import (
"errors"
"sync"
)
var crlf = []byte("\r\n")
@@ -13,26 +12,3 @@ var (
ErrInvalidResponse = errors.New("gemini: invalid response")
ErrBodyNotAllowed = errors.New("gemini: response body not allowed")
)
// defaultClient is the default client. It is used by Get and Do.
var defaultClient Client
// Get performs a Gemini request for the given url.
func Get(url string) (*Response, error) {
setupDefaultClientOnce()
return defaultClient.Get(url)
}
// Do performs a Gemini request and returns a Gemini response.
func Do(req *Request) (*Response, error) {
setupDefaultClientOnce()
return defaultClient.Do(req)
}
var defaultClientOnce sync.Once
func setupDefaultClientOnce() {
defaultClientOnce.Do(func() {
defaultClient.KnownHosts.LoadDefault()
})
}