From f5fba7c34af4d9094ec783d3ebcef6665a1a0362 Mon Sep 17 00:00:00 2001 From: Flori Weber Date: Sat, 10 Jun 2023 18:50:49 +0200 Subject: [PATCH] Better error handling in get methods. --- src/api/guilds/roles.rs | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/src/api/guilds/roles.rs b/src/api/guilds/roles.rs index 49a35b3..b2e9b31 100644 --- a/src/api/guilds/roles.rs +++ b/src/api/guilds/roles.rs @@ -30,7 +30,7 @@ impl types::RoleObject { let mut belongs_to = user.belongs_to.borrow_mut(); let url = format!("{}/guilds/{}/roles/", belongs_to.urls.get_api(), guild_id); let request = Client::new().get(url).bearer_auth(user.token()); - let requester = match LimitedRequester::new() + let result = match LimitedRequester::new() .await .send_request( request, @@ -43,7 +43,14 @@ impl types::RoleObject { Ok(request) => request, Err(e) => return Err(e), }; - let roles: Vec = from_str(&requester.text().await.unwrap()).unwrap(); + let roles: Vec = match from_str(&result.text().await.unwrap()) { + Ok(roles) => roles, + Err(e) => { + return Err(ChorusLibError::InvalidResponseError { + error: e.to_string(), + }) + } + }; if roles.is_empty() { return Ok(None); @@ -80,7 +87,7 @@ impl types::RoleObject { role_id ); let request = Client::new().get(url).bearer_auth(user.token()); - let requester = match LimitedRequester::new() + let result = match LimitedRequester::new() .await .send_request( request, @@ -93,7 +100,14 @@ impl types::RoleObject { Ok(request) => request, Err(e) => return Err(e), }; - let role: RoleObject = from_str(&requester.text().await.unwrap()).unwrap(); + let role: RoleObject = match from_str(&result.text().await.unwrap()) { + Ok(role) => role, + Err(e) => { + return Err(ChorusLibError::InvalidResponseError { + error: e.to_string(), + }) + } + }; Ok(role) }