Don't expose DefaultClient
This commit is contained in:
parent
c3fc9a4e9f
commit
b57ea57fec
16
gemini.go
16
gemini.go
@ -22,31 +22,25 @@ var (
|
|||||||
ErrInputRequired = errors.New("gemini: input required")
|
ErrInputRequired = errors.New("gemini: input required")
|
||||||
)
|
)
|
||||||
|
|
||||||
// DefaultClient is the default client. It is used by Get and Do.
|
// defaultClient is the default client. It is used by Get and Do.
|
||||||
//
|
var defaultClient Client
|
||||||
// On the first request, DefaultClient loads the default list of known hosts.
|
|
||||||
var DefaultClient Client
|
|
||||||
|
|
||||||
// Get performs a Gemini request for the given url.
|
// Get performs a Gemini request for the given url.
|
||||||
//
|
|
||||||
// Get is a wrapper around DefaultClient.Get.
|
|
||||||
func Get(url string) (*Response, error) {
|
func Get(url string) (*Response, error) {
|
||||||
setupDefaultClientOnce()
|
setupDefaultClientOnce()
|
||||||
return DefaultClient.Get(url)
|
return defaultClient.Get(url)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Do performs a Gemini request and returns a Gemini response.
|
// Do performs a Gemini request and returns a Gemini response.
|
||||||
//
|
|
||||||
// Do is a wrapper around DefaultClient.Do.
|
|
||||||
func Do(req *Request) (*Response, error) {
|
func Do(req *Request) (*Response, error) {
|
||||||
setupDefaultClientOnce()
|
setupDefaultClientOnce()
|
||||||
return DefaultClient.Do(req)
|
return defaultClient.Do(req)
|
||||||
}
|
}
|
||||||
|
|
||||||
var defaultClientOnce sync.Once
|
var defaultClientOnce sync.Once
|
||||||
|
|
||||||
func setupDefaultClientOnce() {
|
func setupDefaultClientOnce() {
|
||||||
defaultClientOnce.Do(func() {
|
defaultClientOnce.Do(func() {
|
||||||
DefaultClient.KnownHosts.LoadDefault()
|
defaultClient.KnownHosts.LoadDefault()
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user