ugi 0.2.1

Runtime-agnostic Rust request client with HTTP/1.1, HTTP/2, HTTP/3, H2C, WebSocket, SSE, and gRPC support
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
use serde::Deserialize;

#[derive(Debug, Deserialize)]
struct Health {
    status: String,
}

fn main() -> Result<(), Box<dyn std::error::Error>> {
    let health = futures_lite::future::block_on(async move {
        let client = ugi::Client::builder().build()?;
        let res = client.get("https://api.example.com/health").await?;
        res.json::<Health>().await
    })?;

    println!("{}", health.status);
    Ok(())
}