Skip to main content

Module http_client

Module http_client 

Source
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§

HttpClient
HTTP client with retry and rate limiting support
HttpConfig
HTTP request configuration