If you want to do HTTP requests and are targetting 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 egui_web
.
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