fix(retry): глобальный rate-limit + Retry-After + cooldown (#70)
Release Please / Release Please (push) Skipped
Release / GoReleaser (push) Skipped
Tests / Secret scan (gitleaks) (push) Skipped
Tests / Test (Go 1.25) (push) Skipped
Tests / Test (Go stable) (push) Skipped
Tests / Secret scan (gitleaks) (pull_request) Successful in 5s
Tests / Test (Go 1.25) (pull_request) Successful in 25s
Tests / Test (Go stable) (pull_request) Successful in 27s

This commit is contained in:
2026-09-17 12:39:25 +00:00
parent 46661f51f8
commit c9e16c7169
16 changed files with 729 additions and 33 deletions
+6 -2
View File
@@ -38,11 +38,15 @@ type Client struct {
folderTitlesMu sync.Mutex
}
// NewClient returns a new Client backed by http.DefaultClient.
// NewClient returns a new Client whose transport is paced by the process-wide
// rate limiter and 429 cooldown gate (OO_RATE_LIMIT/OO_BURST; see ratelimit.go).
func NewClient(c Credentials) *Client {
jar, _ := cookiejar.New(nil)
return &Client{
client: &http.Client{Jar: jar},
client: &http.Client{
Jar: jar,
Transport: &pacedTransport{base: http.DefaultTransport},
},
credentials: &c,
}
}