Expand description
HTTP client abstraction layer
Provides a unified HTTP request interface with support for:
- Automatic retry mechanism with configurable strategies
- Timeout control per request
- Request and response size limits for DoS protection
- Circuit breaker integration for resilience
- Rate limiting integration
§Example
use ccxt_core::http_client::{HttpClient, HttpConfig};
let config = HttpConfig::default();
let client = HttpClient::new(config)?;
let response = client.get("https://example.com/api", None).await?;§Features
- Retry: Automatic retry with exponential backoff for transient failures
- Circuit Breaker: Prevents cascading failures by blocking requests to failing endpoints
- Rate Limiting: Optional rate limiting for API quota management
- Size Limits: Protection against oversized requests/responses
Structs§
- Http
Client - HTTP client with retry and rate limiting support
- Http
Config - HTTP request configuration