minikube/vendor/github.com/mreiferson/go-httpclient
Matt Rickard 7b9689745f Upgrade to k8s v1.4.0-alpha.2
Update to kubernetes 1.4-alpha3.

This required a "go get k8s.io/client-go" before godep save would work.
2016-09-29 15:57:24 -07:00
..
.gitignore Upgrade to k8s v1.4.0-alpha.2 2016-09-29 15:57:24 -07:00
.travis.yml Upgrade to k8s v1.4.0-alpha.2 2016-09-29 15:57:24 -07:00
LICENSE Upgrade to k8s v1.4.0-alpha.2 2016-09-29 15:57:24 -07:00
README.md Upgrade to k8s v1.4.0-alpha.2 2016-09-29 15:57:24 -07:00
httpclient.go Upgrade to k8s v1.4.0-alpha.2 2016-09-29 15:57:24 -07:00

README.md

go-httpclient

requires Go 1.1+ as of v0.4.0 the API has been completely re-written for Go 1.1 (for a Go 1.0.x compatible release see 1adef50)

BuildStatus

Provides an HTTP Transport that implements the RoundTripper interface and can be used as a built in replacement for the standard library's, providing:

  • connection timeouts
  • request timeouts

This is a thin wrapper around http.Transport that sets dial timeouts and uses Go's internal timer scheduler to call the Go 1.1+ CancelRequest() API.

Example

transport := &httpclient.Transport{
    ConnectTimeout:        1*time.Second,
    RequestTimeout:        10*time.Second,
    ResponseHeaderTimeout: 5*time.Second,
}
defer transport.Close()

client := &http.Client{Transport: transport}
req, _ := http.NewRequest("GET", "http://127.0.0.1/test", nil)
resp, err := client.Do(req)
if err != nil {
    return err
}
defer resp.Body.Close()

Note: you will want to re-use a single client object rather than creating one for each request, otherwise you will end up leaking connections.

Reference Docs

For API docs see godoc.