Skip to content

Commit 6497fb7

Browse files
committed
provider: Enable request/response logging
1 parent f740cbd commit 6497fb7

File tree

1 file changed

+23
-17
lines changed

1 file changed

+23
-17
lines changed

scaleway/config.go

Lines changed: 23 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import (
1212
"time"
1313

1414
retryablehttp "github.com/hashicorp/go-retryablehttp"
15+
"github.com/hashicorp/terraform/helper/logging"
1516
sdk "github.com/nicolai86/scaleway-sdk"
1617
)
1718

@@ -53,27 +54,32 @@ func (c *client) Do(r *http.Request) (*http.Response, error) {
5354

5455
// Client configures and returns a fully initialized Scaleway client
5556
func (c *Config) Client() (*Client, error) {
57+
options := func(sdkApi *sdk.API) {
58+
cl := retryablehttp.NewClient()
59+
60+
cl.HTTPClient.Transport = logging.NewTransport("Scaleway", cl.HTTPClient.Transport)
61+
cl.RetryMax = 3
62+
cl.RetryWaitMax = 2 * time.Minute
63+
cl.Logger = log.New(os.Stderr, "", 0)
64+
cl.RetryWaitMin = time.Minute
65+
cl.CheckRetry = func(_ context.Context, resp *http.Response, err error) (bool, error) {
66+
if resp == nil {
67+
return true, err
68+
}
69+
if resp.StatusCode == http.StatusTooManyRequests {
70+
return true, err
71+
}
72+
return retryablehttp.DefaultRetryPolicy(context.TODO(), resp, err)
73+
}
74+
75+
sdkApi.Client = &client{cl}
76+
}
77+
5678
api, err := sdk.New(
5779
c.Organization,
5880
c.APIKey,
5981
c.Region,
60-
func(c *sdk.API) {
61-
cl := retryablehttp.NewClient()
62-
cl.RetryMax = 3
63-
cl.RetryWaitMax = 2 * time.Minute
64-
cl.Logger = log.New(os.Stderr, "", 0)
65-
cl.RetryWaitMin = time.Minute
66-
cl.CheckRetry = func(_ context.Context, resp *http.Response, err error) (bool, error) {
67-
if resp == nil {
68-
return true, err
69-
}
70-
if resp.StatusCode == http.StatusTooManyRequests {
71-
return true, err
72-
}
73-
return retryablehttp.DefaultRetryPolicy(context.TODO(), resp, err)
74-
}
75-
c.Client = &client{cl}
76-
},
82+
options,
7783
)
7884
if err != nil {
7985
return nil, err

0 commit comments

Comments
 (0)