7个版本
新 0.1.7 | 2024年8月7日 |
---|---|
0.1.6 | 2024年7月23日 |
0.1.5 | 2024年5月17日 |
0.1.2 | 2024年4月26日 |
0.1.0 | 2024年2月20日 |
#149 in HTTP客户端
每月341次下载
61KB
825 行
🛰️ Fibreq (FIBer REQuests)
Fibreq是非阻塞HTTP客户端,专为Tarantool生态系统设计,利用Tarantool的纤维功能。它旨在为直接从Tarantool实例制作HTTP(S)请求提供强大且功能丰富的替代方案,灵感来源于reqwest等库的易用性,但针对Tarantool的独特环境进行了调整。
✨特性
- 非阻塞:利用Tarantool的纤维系统进行高效的非阻塞I/O操作。
- 连接池:通过在多个请求之间重用连接来提高性能,最小化建立新连接的开销。
- 全面的超时控制:提供详细的超时配置,用于连接建立、请求发送和响应读取,以避免挂起的请求。
- 支持HTTPS:使用TLS支持HTTPS请求,确保您的连接加密并安全。
- 灵活的请求构建:通过方便的构建器模式简化创建复杂请求,支持各种内容类型、头和正文内容。
- 错误处理:提供清晰且可操作的错误,使调试和错误解决变得简单。
📦 安装
将Fibreq添加到您的Cargo.toml
[dependencies]
fibreq = "0.1.0"
🚀 快速入门
fn request() -> Result<(), fibreq::error::Error> {
let client = fibreq::ClientBuilder::new().build();
let response = client.get("https://google.ru").unwrap().send().unwrap();
println!("Status: {}", response.status());
if let Ok(text) = response.text() {
println!("Body: {}", text);
}
Ok(())
}
依赖项
~13–24MB
~365K SLoC