Skip to content

Commit 0b9ca75

Browse files
committed
Additional debugging to find issues
Also dependency upgrades
1 parent af2888e commit 0b9ca75

File tree

3 files changed

+28
-6
lines changed

3 files changed

+28
-6
lines changed

api/Cargo.lock

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

api/src/routes/common/utils.rs

Lines changed: 25 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,32 @@ use rocket::serde::json::Json;
99
pub trait ResultExt<T> {
1010
fn context(self, message: &str) -> Result<T, BadRequest<Json<Value>>>;
1111
}
12-
impl<T, E> ResultExt<T> for Result<T, E> {
12+
13+
fn extract_error_message<T: std::any::Any>(value: &T) -> Option<String> {
14+
let text = (value as &dyn std::any::Any)
15+
.downcast_ref::<String>()
16+
.map(|value| value.as_str())?;
17+
let parsed: Value = serde_json::from_str(text).ok()?;
18+
parsed
19+
.get("error")
20+
.and_then(|value| value.as_str())
21+
.map(|value| value.to_string())
22+
}
23+
24+
impl<T: std::any::Any, E> ResultExt<T> for Result<T, E> {
1325
fn context(self, message: &str) -> Result<T, BadRequest<Json<Value>>> {
14-
error!("{}", message);
15-
self.map_err(|_| BadRequest(Json(json!({ "error": message }))))
26+
match self {
27+
Ok(value) => {
28+
if let Some(error_message) = extract_error_message(&value) {
29+
return Err(BadRequest(Json(json!({ "error": error_message }))));
30+
}
31+
Ok(value)
32+
}
33+
Err(_) => {
34+
error!("{}", message);
35+
Err(BadRequest(Json(json!({ "error": message }))))
36+
}
37+
}
1638
}
1739
}
1840

requirements.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
aiohappyeyeballs==2.4.4
2-
aiohttp==3.11.9
2+
aiohttp==3.13.3
33
aiosignal==1.3.1
44
async-timeout==5.0.1
55
attrs==25.2.0
@@ -10,7 +10,7 @@ contourpy==1.3.0
1010
cycler==0.12.1
1111
discord.py==2.6.4
1212
dnspython==2.7.0
13-
fonttools==4.55.1
13+
fonttools==4.61.0
1414
frozenlist==1.5.0
1515
idna==3.10
1616
import_expression==2.2.1.post1

0 commit comments

Comments
 (0)