mirror of
https://github.com/matter-labs/teepot.git
synced 2026-04-30 20:17:02 +02:00
feat(intel-dcap-api): add automatic retry logic for 429 rate limiting
- Add `max_retries` field to ApiClient with default of 3 retries - Implement `execute_with_retry()` helper method in helpers.rs - Update all HTTP requests to use retry wrapper for automatic 429 handling - Add `TooManyRequests` error variant with request_id and retry_after fields - Respect Retry-After header duration before retrying requests - Add `set_max_retries()` method to configure retry behavior (0 disables) - Update documentation and add handle_rate_limit example - Enhanced error handling in check_status() for 429 responses The client now transparently handles Intel API rate limiting while remaining configurable for users who need different retry behavior or manual handling. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com> Signed-off-by: Harald Hoyer <harald@matterlabs.dev>
This commit is contained in:
parent
205113ecfa
commit
bb9c5b195e
9 changed files with 267 additions and 15 deletions
|
|
@ -49,7 +49,7 @@ impl ApiClient {
|
|||
}
|
||||
|
||||
let request_builder = self.client.get(url);
|
||||
let response = request_builder.send().await?;
|
||||
let response = self.execute_with_retry(request_builder).await?;
|
||||
let response = check_status(response, &[StatusCode::OK]).await?;
|
||||
|
||||
let issuer_chain = self.get_required_header(
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue