Add SetHTTPClient function to *Client

When we use GoogleAppEngine/Go environment, We should replace http.Client to urlfetch.Client.
This commit is contained in:
vvakame 2017-07-07 18:57:02 +09:00
parent f9536247c0
commit c9eb8b7137
2 changed files with 10 additions and 3 deletions

View File

@ -19,7 +19,7 @@ func NewClient(clientID string, secret string, APIBase string) (*Client, error)
}
return &Client{
client: &http.Client{},
Client: &http.Client{},
ClientID: clientID,
Secret: secret,
APIBase: APIBase,
@ -50,6 +50,13 @@ func (c *Client) GetAccessToken() (*TokenResponse, error) {
return &t, err
}
// SetHTTPClient sets *http.Client to current client
func (c *Client) SetHTTPClient(client *http.Client) error {
c.Client = client
return nil
}
// SetAccessToken sets saved token to current client
func (c *Client) SetAccessToken(token string) error {
c.Token = &TokenResponse{
@ -85,7 +92,7 @@ func (c *Client) Send(req *http.Request, v interface{}) error {
req.Header.Set("Content-type", "application/json")
}
resp, err = c.client.Do(req)
resp, err = c.Client.Do(req)
c.log(req, resp)
if err != nil {

View File

@ -107,7 +107,7 @@ type (
// Client represents a Paypal REST API Client
Client struct {
client *http.Client
Client *http.Client
ClientID string
Secret string
APIBase string