diff options
Diffstat (limited to 'pkgs/build-support/node/fetch-npm-deps/src/cacache.rs')
-rw-r--r-- | pkgs/build-support/node/fetch-npm-deps/src/cacache.rs | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/pkgs/build-support/node/fetch-npm-deps/src/cacache.rs b/pkgs/build-support/node/fetch-npm-deps/src/cacache.rs index c49c094b85c68..403c909dee115 100644 --- a/pkgs/build-support/node/fetch-npm-deps/src/cacache.rs +++ b/pkgs/build-support/node/fetch-npm-deps/src/cacache.rs @@ -1,4 +1,4 @@ -use base64::prelude::{Engine, BASE64_STANDARD}; +use data_encoding::BASE64; use digest::{Digest, Update}; use serde::{Deserialize, Serialize}; use sha1::Sha1; @@ -11,6 +11,7 @@ use std::{ }; use url::Url; +#[allow(clippy::struct_field_names)] #[derive(Serialize, Deserialize)] pub(super) struct Key { pub(super) key: String, @@ -59,16 +60,18 @@ impl Cache { integrity: Option<String>, ) -> anyhow::Result<()> { let (algo, hash, integrity) = if let Some(integrity) = integrity { - let (algo, hash) = integrity.split_once('-').unwrap(); + let (algo, hash) = integrity + .split_once('-') + .expect("hash should be SRI format"); - (algo.to_string(), BASE64_STANDARD.decode(hash)?, integrity) + (algo.to_string(), BASE64.decode(hash.as_bytes())?, integrity) } else { let hash = Sha512::new().chain(data).finalize(); ( String::from("sha512"), hash.to_vec(), - format!("sha512-{}", BASE64_STANDARD.encode(hash)), + format!("sha512-{}", BASE64.encode(&hash)), ) }; |