diff --git a/src/drivers.rs b/src/drivers.rs index b16513d9..db520d4e 100644 --- a/src/drivers.rs +++ b/src/drivers.rs @@ -7,7 +7,7 @@ use log::debug; use semver::{Version, VersionReq}; use url::Url; -use crate::{helpers::*, BinstallError, PkgFmt}; +use crate::{helpers::*, BinstallError, TarBasedFmt}; fn find_version<'a, V: Iterator>( requirement: &str, @@ -112,7 +112,7 @@ pub async fn fetch_crate_cratesio( download_and_extract_with_filter( Url::parse(&crate_url)?, - PkgFmt::Tgz, + TarBasedFmt::Tgz, &temp_dir, Some(move |path: &Path| path == cargo_toml || path == main || path.starts_with(&bin)), ) diff --git a/src/helpers.rs b/src/helpers.rs index 55089076..210cb00c 100644 --- a/src/helpers.rs +++ b/src/helpers.rs @@ -7,7 +7,7 @@ use serde::Serialize; use tinytemplate::TinyTemplate; use url::Url; -use crate::{BinstallError, Meta, PkgFmt, PkgFmtDecomposed}; +use crate::{BinstallError, Meta, PkgFmt, PkgFmtDecomposed, TarBasedFmt}; mod async_extracter; pub use async_extracter::*; @@ -92,7 +92,7 @@ pub async fn download_and_extract_with_filter< P: AsRef, >( url: Url, - fmt: PkgFmt, + fmt: TarBasedFmt, path: P, filter: Option, ) -> Result<(), BinstallError> { @@ -105,13 +105,7 @@ pub async fn download_and_extract_with_filter< let stream = resp.bytes_stream(); - match fmt.decompose() { - PkgFmtDecomposed::Tar(fmt) => { - extract_tar_based_stream_with_filter(stream, path, fmt, filter).await? - } - PkgFmtDecomposed::Bin => extract_bin(stream, path).await?, - PkgFmtDecomposed::Zip => extract_zip(stream, path).await?, - } + extract_tar_based_stream_with_filter(stream, path, fmt, filter).await?; debug!("Download OK, written to file: '{}'", path.display());