The oauth2
package defines the following variable:
var HTTPClient internal.ContextKey
HTTPClient is the context key to use with golang.org/x/net/context's WithValue function to associate an *http.Client value with a context.
Use the above variable as the context key when constructing the context to pass to Exchange
:
client := &http.Client{
// TODO
}
parent := oauth2.NoContext()
ctx := context.WithValue(parent, oauth2.HTTPClient, client)
tkn, err := c.Exchange(ctx, code)