summaryrefslogtreecommitdiff
path: root/melib/src/backends/jmap/objects/email/import.rs
diff options
context:
space:
mode:
Diffstat (limited to 'melib/src/backends/jmap/objects/email/import.rs')
-rw-r--r--melib/src/backends/jmap/objects/email/import.rs3
1 files changed, 2 insertions, 1 deletions
diff --git a/melib/src/backends/jmap/objects/email/import.rs b/melib/src/backends/jmap/objects/email/import.rs
index 638c58c3..7c360526 100644
--- a/melib/src/backends/jmap/objects/email/import.rs
+++ b/melib/src/backends/jmap/objects/email/import.rs
@@ -184,7 +184,8 @@ pub struct ImportResponse {
impl std::convert::TryFrom<&RawValue> for ImportResponse {
type Error = crate::error::MeliError;
fn try_from(t: &RawValue) -> Result<ImportResponse> {
- let res: (String, ImportResponse, String) = serde_json::from_str(t.get())?;
+ let res: (String, ImportResponse, String) =
+ serde_json::from_str(t.get()).map_err(|err| crate::error::MeliError::new(format!("BUG: Could not deserialize server JSON response properly, please report this!\nReply from server: {}", &t)).set_source(Some(Arc::new(err))).set_kind(ErrorKind::Bug))?;
assert_eq!(&res.0, &ImportCall::NAME);
Ok(res.1)
}