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客户端

Download history 115/week @ 2024-04-22 10/week @ 2024-04-29 132/week @ 2024-05-06 143/week @ 2024-05-13 19/week @ 2024-05-20 1/week @ 2024-05-27 265/week @ 2024-06-03 188/week @ 2024-06-10 122/week @ 2024-06-17 105/week @ 2024-06-24 127/week @ 2024-07-01 45/week @ 2024-07-08 28/week @ 2024-07-15 150/week @ 2024-07-22 100/week @ 2024-07-29

每月341次下载

BSD-2-Clause

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