Crate unistore_http

Crate unistore_http 

Source
Expand description

§unistore-http: HTTP 客户端能力

提供开箱即用的 HTTP 客户端,支持自动重试和超时控制。

§设计哲学

三层 API 设计:从简单到复杂,满足不同场景需求。

┌─────────────────────────────────────────────────────────────────┐
│  Level 3: 便捷函数(一行代码)                                   │
│  get(url) / post_json(url, body)                               │
├─────────────────────────────────────────────────────────────────┤
│  Level 2: HttpClient(带配置的客户端)                          │
│  HttpClient::new() / HttpClient::builder()                     │
├─────────────────────────────────────────────────────────────────┤
│  Level 1: 底层访问(完全控制)                                   │
│  client.inner() -> &reqwest::Client                            │
└─────────────────────────────────────────────────────────────────┘

§快速开始

use unistore_http::{get, get_json, HttpClient};

// Level 3: 便捷函数
let body = get("https://api.example.com/status").await?.text()?;
let user: User = get_json("https://api.example.com/user/1").await?;

// Level 2: 客户端实例
let client = HttpClient::builder()
    .timeout(Duration::from_secs(60))
    .max_retries(5)
    .build()?;
let resp = client.get("https://api.example.com/data").await?;

Structs§

CancellableRequest
可取消的请求
CancellationToken
取消令牌(只读)
CancellationTrigger
取消触发器(只写)
HttpCapability
HTTP 客户端能力
HttpClient
HTTP 客户端
HttpClientConfig
HTTP 客户端配置
HttpClientConfigBuilder
HTTP 客户端配置构建器
ProxyConfig
代理配置
RequestBuilder
请求构建器
Response
HTTP 响应

Enums§

HttpError
HTTP 客户端错误
Method
HTTP 方法
RetryStrategy
重试策略

Functions§

cancellation_pair
创建取消令牌对
delete
快捷 DELETE 请求
get
快捷 GET 请求
get_bytes
快捷 GET 请求并获取字节
get_json
快捷 GET 请求并解析为 JSON
get_text
快捷 GET 请求并获取文本
head
快捷 HEAD 请求
patch_json
快捷 PATCH 请求(JSON body)
post_form
快捷 POST 请求(表单 body)
post_json
快捷 POST 请求(JSON body)
post_json_for_json
快捷 POST 请求(JSON body)并解析响应为 JSON
put_json
快捷 PUT 请求(JSON body)