Documentation ¶
Index ¶
- Constants
- Variables
- func Get(ctx context.Context, url string) (resp *http.Response, err error)
- func GetJSON(httpClient http.Client, path string, response protoutil.Message) error
- func Head(ctx context.Context, url string) (resp *http.Response, err error)
- func Post(ctx context.Context, url, contentType string, body io.Reader) (resp *http.Response, err error)
- func PostJSON(httpClient http.Client, path string, request, response protoutil.Message) error
- func PostJSONWithRequest(httpClient http.Client, path string, request, response protoutil.Message) (*http.Response, error)
- type Client
Constants ¶
const ( // AcceptHeader is the canonical header name for accept. AcceptHeader = "Accept" // AcceptEncodingHeader is the canonical header name for accept encoding. AcceptEncodingHeader = "Accept-Encoding" // ContentEncodingHeader is the canonical header name for content type. ContentEncodingHeader = "Content-Encoding" // ContentTypeHeader is the canonical header name for content type. ContentTypeHeader = "Content-Type" // JSONContentType is the JSON content type. JSONContentType = "application/json" // AltJSONContentType is the alternate JSON content type. AltJSONContentType = "application/x-json" // ProtoContentType is the protobuf content type. ProtoContentType = "application/x-protobuf" // AltProtoContentType is the alternate protobuf content type. AltProtoContentType = "application/x-google-protobuf" // PlaintextContentType is the plaintext content type. PlaintextContentType = "text/plain" // GzipEncoding is the gzip encoding. GzipEncoding = "gzip" )
const StandardHTTPTimeout time.Duration = 3 * time.Second
StandardHTTPTimeout is the default timeout to use for HTTP connections.
Variables ¶
var DefaultClient = NewClientWithTimeout(StandardHTTPTimeout)
DefaultClient is a replacement for http.DefaultClient which defines a standard timeout.
Functions ¶
func Get ¶
Get does like http.Get but uses the provided context and obeys its cancellation. It also uses the default client with a default 3 second timeout.
func GetJSON ¶
GetJSON uses the supplied client to GET the URL specified by the parameters and unmarshals the result into response. TODO(someone): make this context-aware, see client.go.
func Head ¶
Head does like http.Head but uses the provided context and obeys its cancellation. It also uses the default client with a default 3 second timeout.
func Post ¶
func Post( ctx context.Context, url, contentType string, body io.Reader, ) (resp *http.Response, err error)
Post does like http.Post but uses the provided context and obeys its cancellation. It also uses the default client with a default 3 second timeout.
func PostJSON ¶
PostJSON uses the supplied client to POST request to the URL specified by the parameters and unmarshals the result into response. TODO(someone): make this context-aware, see client.go.
func PostJSONWithRequest ¶
func PostJSONWithRequest( httpClient http.Client, path string, request, response protoutil.Message, ) (*http.Response, error)
PostJSONWithRequest uses the supplied client to POST request to the URL specified by the parameters and unmarshals the result into response.
The response is returned to the caller, though its body will have been closed. TODO(someone): make this context-aware, see client.go.
Types ¶
type Client ¶
Client is a replacement for http.Client which implements method variants that respect a provided context's cancellation status.
func NewClientWithTimeout ¶
NewClientWithTimeout defines a http.Client with the given timeout.
func (*Client) Get ¶
Get does like http.Client.Get but uses the provided context and obeys its cancellation.