Merge pull request #2367 from zed-industries/log-github-api-response-for-deserialize-error

In the case of Github release deserialize error, log response text
This commit is contained in:
Julia 2023-04-10 17:04:59 -04:00 committed by GitHub
commit 0e4de87e0e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

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")
}