Merge pull request #30 from vvakame/feature-http-client

Add SetHTTPClient function to *Client
This commit is contained in:
Alex Pliutau 2017-07-09 21:21:42 +07:00 committed by GitHub
commit 6745ee0f80
2 changed files with 15 additions and 8 deletions

View File

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

View File

@ -107,12 +107,12 @@ type (
// Client represents a Paypal REST API Client // Client represents a Paypal REST API Client
Client struct { Client struct {
client *http.Client Client *http.Client
ClientID string ClientID string
Secret string Secret string
APIBase string APIBase string
Log io.Writer // If user set log file name all requests will be logged there Log io.Writer // If user set log file name all requests will be logged there
Token *TokenResponse Token *TokenResponse
tokenExpiresAt time.Time tokenExpiresAt time.Time
} }