summaryrefslogtreecommitdiff
path: root/webapp/src/utils.rs
blob: 86493ebe9b0654cb85fdbb4adb7caa77b2cce306 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
use gloo_net::http::Response;
use serde::de::DeserializeOwned;

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