feat(429 handling): now handles 429 correctly

This commit is contained in:
2025-07-29 13:19:43 +00:00
parent cf24bf94b9
commit 4cbca08f43
7 changed files with 266 additions and 19 deletions

View File

@@ -46,4 +46,16 @@ export interface TimeoutConfig {
connection?: number; // Connection timeout in ms
socket?: number; // Socket idle timeout in ms
response?: number; // Response timeout in ms
}
/**
* Rate limit configuration for handling 429 responses
*/
export interface RateLimitConfig {
maxRetries?: number; // Maximum number of retries (default: 3)
respectRetryAfter?: boolean; // Respect Retry-After header (default: true)
maxWaitTime?: number; // Max wait time in ms (default: 60000)
fallbackDelay?: number; // Delay when no Retry-After header (default: 1000)
backoffFactor?: number; // Exponential backoff factor (default: 2)
onRateLimit?: (attempt: number, waitTime: number) => void; // Callback for rate limit events
}