@@ -21,12 +21,12 @@ use std::{
2121} ;
2222
2323use crate :: { HeaderMap , HeaderValue } ;
24- use base64:: URL_SAFE ;
24+ use base64:: engine:: general_purpose:: { STANDARD , URL_SAFE } ;
25+ use base64:: engine:: Engine ;
2526use once_cell:: sync:: Lazy ;
2627use ring:: digest:: SHA256 ;
2728use tokio:: io:: AsyncReadExt ;
2829
29- use base64_url:: base64;
3030use futures:: { Stream , StreamExt } ;
3131use regex:: Regex ;
3232use serde:: { Deserialize , Serialize } ;
@@ -57,7 +57,7 @@ pub(crate) fn is_valid_object_name(object_name: &str) -> bool {
5757}
5858
5959pub ( crate ) fn encode_object_name ( object_name : & str ) -> String {
60- base64 :: encode_config ( object_name, base64 :: URL_SAFE )
60+ URL_SAFE . encode ( object_name)
6161}
6262
6363/// Configuration values for object store buckets.
@@ -205,7 +205,8 @@ impl ObjectStore {
205205 . stream
206206 . get_last_raw_message_by_subject ( subject. as_str ( ) )
207207 . await ?;
208- let decoded_payload = base64:: decode ( message. payload )
208+ let decoded_payload = STANDARD
209+ . decode ( message. payload )
209210 . map_err ( |err| Box :: new ( std:: io:: Error :: new ( ErrorKind :: Other , err) ) ) ?;
210211 let object_info = serde_json:: from_slice :: < ObjectInfo > ( & decoded_payload) ?;
211212
@@ -291,10 +292,7 @@ impl ObjectStore {
291292 nuid : object_nuid,
292293 chunks : object_chunks,
293294 size : object_size,
294- digest : format ! (
295- "SHA-256={}" ,
296- base64:: encode_config( digest, base64:: URL_SAFE )
297- ) ,
295+ digest : format ! ( "SHA-256={}" , URL_SAFE . encode( digest) ) ,
298296 modified : OffsetDateTime :: now_utc ( ) ,
299297 deleted : false ,
300298 } ;
@@ -566,7 +564,7 @@ impl tokio::io::AsyncRead for Object<'_> {
566564 if info. pending == 0 {
567565 let digest = self . digest . take ( ) . map ( |context| context. finish ( ) ) ;
568566 if let Some ( digest) = digest {
569- if format ! ( "SHA-256={}" , base64 :: encode_config ( digest, URL_SAFE ) )
567+ if format ! ( "SHA-256={}" , URL_SAFE . encode ( digest) )
570568 != self . info . digest
571569 {
572570 return Poll :: Ready ( Err ( io:: Error :: new (
0 commit comments