diff --git a/pinboard.go b/pinboard.go index 8d0e515..0f18647 100644 --- a/pinboard.go +++ b/pinboard.go @@ -59,6 +59,8 @@ var ( } pinboardToken = "" + + httpClient = &http.Client{} ) // get checks if endpoint is a valid Pinboard API endpoint and then @@ -103,7 +105,7 @@ func get(endpoint string, options interface{}) (body []byte, err error) { u.RawQuery = q.Encode() // Call APImethod with fully constructed URL. - res, err := http.Get(u.String()) + res, err := httpClient.Get(u.String()) if err != nil { return nil, err } @@ -209,3 +211,9 @@ func values(i interface{}) (url.Values, error) { func SetToken(token string) { pinboardToken = token } + +// SetHttpClient sets teh actual http client instance to use to make calls. +// This can be overridden for caching purposes for example +func SetHttpClient(client *http.Client) { + httpClient = client +}