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