use gloo_net::http::Response; use serde::de::DeserializeOwned; pub async fn ok_json(response: Response) -> Result where T: DeserializeOwned, { if !response.ok() { anyhow::bail!( "Request failed: {} {}", response.status(), response.status_text() ); } Ok(response.json().await?) }