In the case of Github release deserialize error, log response text

Co-Authored-By: Joseph Lyons <joseph@zed.dev>
This commit is contained in:
Julia 2023-04-10 16:45:15 -04:00
parent 116d4f20fa
commit 189784f5fd

View file

@ -9,13 +9,13 @@ pub struct GitHubLspBinaryVersion {
pub url: String,
}
#[derive(Deserialize)]
#[derive(Deserialize, Debug)]
pub struct GithubRelease {
pub name: String,
pub assets: Vec<GithubReleaseAsset>,
}
#[derive(Deserialize)]
#[derive(Deserialize, Debug)]
pub struct GithubReleaseAsset {
pub name: String,
pub browser_download_url: String,
@ -40,7 +40,13 @@ pub async fn latest_github_release(
.await
.context("error reading latest release")?;
let release: GithubRelease =
serde_json::from_slice(body.as_slice()).context("error deserializing latest release")?;
Ok(release)
let release = serde_json::from_slice::<GithubRelease>(body.as_slice());
if release.is_err() {
log::error!(
"Github API response text: {:?}",
String::from_utf8_lossy(body.as_slice())
);
}
release.context("error deserializing latest release")
}