6 releases (breaking)
0.5.0 | Feb 16, 2024 |
---|---|
0.4.0 | Jan 17, 2024 |
0.3.1 | Sep 27, 2023 |
0.3.0 | Jun 15, 2023 |
0.1.0 | Sep 3, 2021 |
#168 in Network programming
45,166 downloads per month
Used in 57 crates
(20 directly)
41KB
691 lines
ehttp: a minimal Rust HTTP client for both native and WASM
If you want to do HTTP requests and are targeting both native and web (WASM), then this is the crate for you!
You can try the web demo here (works in any browser with WASM and WebGL support). Uses eframe
.
Usage
let request = ehttp::Request::get("https://www.example.com");
ehttp::fetch(request, move |result: ehttp::Result<ehttp::Response>| {
println!("Status code: {:?}", result.unwrap().status);
});
The given callback is called when the request is completed. You can communicate the results back to the main thread using something like:
- Channels (e.g.
std::sync::mpsc::channel
). Arc<Mutex<_>>
poll_promise::Promise
eventuals::Eventual
tokio::sync::watch::channel
There is also a streaming version under ehttp::fetch::streaming
, hidden behind the streaming
feature flag.
Dependencies
~0.2–3.5MB
~67K SLoC