Skip to content

Commit 8d32071

Browse files
committed
fix: handle empty msg
1 parent fa91543 commit 8d32071

File tree

1 file changed

+15
-11
lines changed

1 file changed

+15
-11
lines changed

packages/rs-dapi/src/services/platform_service/error_mapping.rs

Lines changed: 15 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -283,18 +283,22 @@ impl From<serde_json::Value> for TenderdashStatus {
283283
tracing::debug!("Tenderdash error missing 'code' field, defaulting to 0");
284284
0
285285
});
286-
let raw_message = object.get("message").and_then(|m| m.as_str());
286+
let raw_message = object
287+
.get("message")
288+
.and_then(|m| m.as_str())
289+
.map(|m| m.trim());
287290
// empty message or "Internal error" is not very informative, so we try to check `data` field
288-
let message =
289-
if raw_message.is_none_or(|m| m.trim().eq_ignore_ascii_case("Internal error")) {
290-
object
291-
.get("data")
292-
.and_then(|d| d.as_str())
293-
.filter(|s| s.is_ascii())
294-
} else {
295-
raw_message
296-
}
297-
.map(|s| s.to_string());
291+
let message = if raw_message
292+
.is_none_or(|m| m.is_empty() || m.eq_ignore_ascii_case("Internal error"))
293+
{
294+
object
295+
.get("data")
296+
.and_then(|d| d.as_str())
297+
.filter(|s| s.is_ascii())
298+
} else {
299+
raw_message
300+
}
301+
.map(|s| s.to_string());
298302

299303
// info contains additional error details, possibly including consensus error
300304
let consensus_error = object

0 commit comments

Comments
 (0)