8 releases
0.1.8 | Oct 28, 2024 |
---|---|
0.1.7 | Aug 7, 2024 |
0.1.6 | Jul 23, 2024 |
0.1.5 | May 17, 2024 |
0.1.0 | Feb 20, 2024 |
#120 in HTTP client
786 downloads per month
62KB
825 lines
🛰️ Fibreq (FIBer REQuests)
Fibreq is non-blocking HTTP client designed specifically for the Tarantool ecosystem, leveraging the Tarantool's fiber capabilities.
It aims to provide a robust, feature-rich alternative for making HTTP(S) requests directly from Tarantool instances,
inspired by the ease of use seen in libraries like reqwest
but tailored for Tarantool's unique environment.
✨Features
- Non-blocking Nature: Utilizes Tarantool's fiber system for efficient, non-blocking I/O operations.
- Connection Pooling: Enhances performance by reusing connections across multiple requests, minimizing the overhead of establishing new connections.
- Comprehensive Timeout Controls: Offers detailed timeout configurations for connection establishment, request sending, and response reading to avoid hanging requests.
- HTTPS Support: Secures your data with TLS support for HTTPS requests, ensuring your connections are encrypted and safe.
- Flexible Request Building: Simplifies creating complex requests with a convenient builder pattern, supporting various content types, headers, and body content.
- Error Handling: Provides clear and actionable errors, making debugging and error resolution straightforward.
📦 Installation
Add Fibreq to your Cargo.toml
:
[dependencies]
fibreq = "0.1.0"
🚀 Quick Start
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(())
}
Dependencies
~10–24MB
~342K SLoC