@@ -18,6 +18,7 @@ use axum::{
1818 extract:: { Extension , Path , Query } ,
1919 response:: { IntoResponse , Response as AxumResponse } ,
2020} ;
21+ use base64:: { engine:: general_purpose:: STANDARD as b64, Engine } ;
2122use chrono:: { DateTime , NaiveDate , Utc } ;
2223use postgres:: Client ;
2324use serde:: { Deserialize , Serialize } ;
@@ -560,7 +561,7 @@ pub(crate) async fn search_handler(
560561 }
561562
562563 let search_result = if let Some ( paginate) = params. get ( "paginate" ) {
563- let decoded = base64 :: decode ( paginate. as_bytes ( ) ) . map_err ( |e| {
564+ let decoded = b64 . decode ( paginate. as_bytes ( ) ) . map_err ( |e| {
564565 warn ! (
565566 "error when decoding pagination base64 string \" {}\" : {:?}" ,
566567 paginate, e
@@ -609,10 +610,10 @@ pub(crate) async fn search_handler(
609610 search_query : Some ( executed_query) ,
610611 next_page_link : search_result
611612 . next_page
612- . map ( |params| format ! ( "/releases/search?paginate={}" , base64 :: encode( params) ) ) ,
613+ . map ( |params| format ! ( "/releases/search?paginate={}" , b64 . encode( params) ) ) ,
613614 previous_page_link : search_result
614615 . prev_page
615- . map ( |params| format ! ( "/releases/search?paginate={}" , base64 :: encode( params) ) ) ,
616+ . map ( |params| format ! ( "/releases/search?paginate={}" , b64 . encode( params) ) ) ,
616617 ..Default :: default ( )
617618 }
618619 . into_response ( ) )
@@ -932,14 +933,14 @@ mod tests {
932933 other_search_links[ 0 ] ,
933934 format!(
934935 "/releases/search?paginate={}" ,
935- base64 :: encode( "?and=the¶meters=for&the=previouspage" ) ,
936+ b64 . encode( "?and=the¶meters=for&the=previouspage" ) ,
936937 )
937938 ) ;
938939 assert_eq ! (
939940 other_search_links[ 1 ] ,
940941 format!(
941942 "/releases/search?paginate={}" ,
942- base64 :: encode( "?some=parameters&that=cratesio&might=return" )
943+ b64 . encode( "?some=parameters&that=cratesio&might=return" )
943944 )
944945 ) ;
945946
@@ -954,7 +955,7 @@ mod tests {
954955 . frontend ( )
955956 . get ( & format ! (
956957 "/releases/search?paginate={}" ,
957- base64 :: encode( "something_that_doesnt_start_with_?" )
958+ b64 . encode( "something_that_doesnt_start_with_?" )
958959 ) )
959960 . send ( ) ?;
960961 assert_eq ! ( response. status( ) , StatusCode :: NOT_FOUND ) ;
@@ -1016,7 +1017,7 @@ mod tests {
10161017 let links = get_release_links (
10171018 & format ! (
10181019 "/releases/search?paginate={}" ,
1019- base64 :: encode( "?some=dummy&pagination=parameters" )
1020+ b64 . encode( "?some=dummy&pagination=parameters" )
10201021 ) ,
10211022 web,
10221023 ) ?;
0 commit comments