mirror of
https://github.com/matter-labs/teepot.git
synced 2025-07-22 23:44:48 +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
|
@ -8,6 +8,14 @@
|
|||
//!
|
||||
//! Create an [`ApiClient`] to interface with the Intel API.
|
||||
//!
|
||||
//! # Rate Limiting
|
||||
//!
|
||||
//! The Intel API implements rate limiting and may return HTTP 429 (Too Many Requests) responses.
|
||||
//! This client automatically handles rate limiting by retrying requests up to 3 times by default,
|
||||
//! waiting for the duration specified in the `Retry-After` header. You can configure the retry
|
||||
//! behavior using [`ApiClient::set_max_retries`]. If all retries are exhausted, the client
|
||||
//! returns an [`IntelApiError::TooManyRequests`] error.
|
||||
//!
|
||||
//! Example
|
||||
//! ```rust,no_run
|
||||
//! use intel_dcap_api::{ApiClient, IntelApiError, TcbInfoResponse};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue