Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func RegisterClientFactory ¶
func RegisterClientFactory(f ClientFactory)
RegisterClientFactory allows external module to provide implementation of the ClientFactory.
This is needed to resolve module dependency cycle between server/auth and server/auth/internal.
See init() in server/auth/client.go.
If client factory is not set, Do(...) uses http.DefaultClient. This happens in unit tests for various auth/* subpackages.
Types ¶
type ClientFactory ¶
ClientFactory knows how to produce http.Client that attach proper OAuth headers.
If 'scopes' is empty, the factory should return a client that makes anonymous requests.
type Request ¶
type Request struct { Method string // HTTP method to use URL string // URL to access Scopes []string // OAuth2 scopes to authenticate with or anonymous call if empty Headers map[string]string // optional map with request headers Body interface{} // object to convert to JSON and send as body or []byte with the body Out interface{} // where to deserialize the response to }
Request represents one JSON REST API request.
func (*Request) Do ¶
Do performs an HTTP request with retries on transient errors.
It can be used to make GET or DELETE requests (if Body is nil) or POST or PUT requests (if Body is not nil). In latter case the body will be serialized to JSON.
Respects context's deadline and cancellation.