http_client

Attribute Macro http_client 

Source
#[http_client]
Expand description

HTTP 客户端宏

用于为空结构体生成 HTTP 客户端实现。

§参数

  • base_url - 可选的基础 URL
  • interceptor - 可选的全局拦截器
  • proxy - 可选的代理配置(支持 HTTP/HTTPS/SOCKS5)

§示例

use swan_macro::http_client;
 
// 基本使用
#[http_client(base_url = "https://api.example.com")]
struct ApiClient;
 
// 使用 HTTP 代理
#[http_client(base_url = "https://api.example.com", proxy = "http://proxy.example.com:8080")]
struct ProxyClient;
 
// 使用 SOCKS5 代理
#[http_client(base_url = "https://api.example.com", proxy = "socks5://proxy.example.com:1080")]
struct Socks5Client;
 
// 显式指定代理类型和地址
#[http_client(
    base_url = "https://api.example.com", 
    proxy(type = http, url = "proxy.example.com:8080")
)]
struct TypedProxyClient;
 
// 使用带认证的 SOCKS5 代理
#[http_client(
    base_url = "https://api.example.com", 
    proxy(type = socks5, url = "proxy.example.com:1080", username = "user", password = "pass")
)]
struct AuthProxyClient;
 
// 禁用代理
#[http_client(base_url = "https://api.example.com", proxy = false)]
struct NoProxyClient;