Skip to content

Commit cdc9a13

Browse files
feat: log unexpected status codes in the retryable client (#99)
1 parent a2115ef commit cdc9a13

File tree

1 file changed

+5
-0
lines changed

1 file changed

+5
-0
lines changed

lib/snyk/package.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,11 @@ func getRetryClient(logger *zerolog.Logger) *http.Client {
112112
rc := retryablehttp.NewClient()
113113
rc.Logger = nil
114114
rc.ErrorHandler = retryablehttp.PassthroughErrorHandler
115+
rc.ResponseLogHook = func(_ retryablehttp.Logger, r *http.Response) {
116+
if r != nil && r.StatusCode >= 400 {
117+
logger.Warn().Msgf("Unexpected status code (%s) for %s %s", r.Status, r.Request.Method, r.Request.URL.String())
118+
}
119+
}
115120
rc.Backoff = func(min, max time.Duration, attemptNum int, resp *http.Response) time.Duration {
116121
if resp != nil {
117122
if sleep, ok := parseRateLimitHeader(resp.Header.Get("X-RateLimit-Reset")); ok {

0 commit comments

Comments
 (0)