diff options
Diffstat (limited to 'webapp/src/utils.rs')
-rw-r--r-- | webapp/src/utils.rs | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/webapp/src/utils.rs b/webapp/src/utils.rs new file mode 100644 index 0000000..1eadf2f --- /dev/null +++ b/webapp/src/utils.rs @@ -0,0 +1,10 @@ +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?) +} |