fix(core): remove blocking

This commit is contained in:
Kasper Juul Hermansen 2023-02-20 10:47:58 +01:00
parent 17ec62a5d5
commit 921e61b5e2
Signed by: kjuulh
GPG Key ID: 57B6E1465221F912

View File

@ -149,7 +149,7 @@ impl Downloader {
let expected_checksum = self.expected_checksum().await?; let expected_checksum = self.expected_checksum().await?;
let mut bytes = vec![]; let mut bytes = vec![];
let actual_hash = self.extract_cli_archive(&mut bytes)?; let actual_hash = self.extract_cli_archive(&mut bytes).await?;
if expected_checksum != actual_hash { if expected_checksum != actual_hash {
eyre::bail!("downloaded CLI binary checksum doesn't match checksum from checksums.txt") eyre::bail!("downloaded CLI binary checksum doesn't match checksum from checksums.txt")
@ -190,17 +190,13 @@ impl Downloader {
eyre::bail!("could not find a matching version or binary in checksums.txt") eyre::bail!("could not find a matching version or binary in checksums.txt")
} }
pub fn extract_cli_archive(&self, dest: &mut Vec<u8>) -> eyre::Result<String> { pub async fn extract_cli_archive(&self, dest: &mut Vec<u8>) -> eyre::Result<String> {
let archive_url = self.archive_url(); let archive_url = self.archive_url();
let resp = reqwest::blocking::get(&archive_url)?; let resp = reqwest::get(&archive_url).await?;
let mut resp = resp.error_for_status()?; let resp = resp.error_for_status()?;
let mut bytes = vec![]; let bytes = resp.bytes().await?;
let lines = resp.read_to_end(&mut bytes)?;
if lines == 0 {
eyre::bail!("nothing was downloaded")
}
let mut hasher = sha2::Sha256::new(); let mut hasher = sha2::Sha256::new();
hasher.update(bytes.as_slice()); hasher.update(&bytes);
let res = hasher.finalize(); let res = hasher.finalize();
println!("{}", hex::encode(&res)); println!("{}", hex::encode(&res));
@ -209,7 +205,7 @@ impl Downloader {
// TODO: Nothing for now // TODO: Nothing for now
todo!() todo!()
} else { } else {
self.extract_from_tar(bytes.as_slice(), dest)?; self.extract_from_tar(&bytes, dest)?;
} }
Ok(hex::encode(res)) Ok(hex::encode(res))