Skip to content

Commit 9958e56

Browse files
tyao1facebook-github-bot
authored andcommitted
Print raw response on persisting parsing error
Reviewed By: monicatang Differential Revision: D57995156 fbshipit-source-id: 58df1a260ad130301b239ba680ce8177599d17e4
1 parent a7984bc commit 9958e56

File tree

2 files changed

+11
-1
lines changed

2 files changed

+11
-1
lines changed

compiler/crates/persist-query/src/errors.rs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,4 +34,10 @@ pub enum PersistError {
3434
#[from]
3535
source: std::io::Error,
3636
},
37+
38+
#[error("Failed parsing response: {source}. Raw response: {raw_response}")]
39+
DetailedResponseParseError {
40+
source: serde_json::Error,
41+
raw_response: String,
42+
},
3743
}

compiler/crates/persist-query/src/lib.rs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,11 @@ pub async fn persist(
7272
let client = Client::builder().build(https);
7373
let res = client.request(req).await?;
7474
let bytes = hyper::body::to_bytes(res.into_body()).await?;
75-
let result: Response = serde_json::from_slice(&bytes)?;
75+
let result: Response =
76+
serde_json::from_slice(&bytes).map_err(|err| PersistError::DetailedResponseParseError {
77+
source: err,
78+
raw_response: String::from_utf8_lossy(&bytes).to_string(),
79+
})?;
7680

7781
match result {
7882
Response::Success { id } => Ok(id),

0 commit comments

Comments
 (0)