summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorsigoden <sigoden@gmail.com>2024-09-13 05:50:00 +0800
committerGitHub <noreply@github.com>2024-09-13 05:50:00 +0800
commit99005a2032bdd306b7bf89fe86117eab15b4cfe7 (patch)
treee26300b24d8e3b081a4cd140573ff539bf31e528 /src
parent8b3bd63c3c976ee1081a751b1eb5f0dab6763c72 (diff)
downloadaichat-99005a2032bdd306b7bf89fe86117eab15b4cfe7.tar.gz
refactor: catch api error (#861)
Diffstat (limited to 'src')
-rw-r--r--src/client/common.rs5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/client/common.rs b/src/client/common.rs
index 9232a2b..cb112b7 100644
--- a/src/client/common.rs
+++ b/src/client/common.rs
@@ -497,6 +497,11 @@ pub fn catch_error(data: &Value, status: u16) -> Result<()> {
json_str_from_map(error, "message"),
) {
bail!("{message} (type: {typ})");
+ } else if let (Some(typ), Some(message)) = (
+ json_str_from_map(error, "code"),
+ json_str_from_map(error, "message"),
+ ) {
+ bail!("{message} (code: {typ})");
}
} else if let Some(error) = data["errors"][0].as_object() {
if let (Some(code), Some(message)) = (