File tree Expand file tree Collapse file tree 2 files changed +7
-5
lines changed Expand file tree Collapse file tree 2 files changed +7
-5
lines changed Original file line number Diff line number Diff line change 1
1
use crate :: { async_trait, Result , Session , SessionStore } ;
2
+ use base64:: { engine:: general_purpose:: STANDARD , Engine as _} ;
2
3
3
4
/// A session store that serializes the entire session into a Cookie.
4
5
///
@@ -32,14 +33,14 @@ impl CookieStore {
32
33
#[ async_trait]
33
34
impl SessionStore for CookieStore {
34
35
async fn load_session ( & self , cookie_value : String ) -> Result < Option < Session > > {
35
- let serialized = base64 :: decode ( cookie_value) ?;
36
+ let serialized = STANDARD . decode ( cookie_value) ?;
36
37
let session: Session = bincode:: deserialize ( & serialized) ?;
37
38
Ok ( session. validate ( ) )
38
39
}
39
40
40
41
async fn store_session ( & self , session : Session ) -> Result < Option < String > > {
41
42
let serialized = bincode:: serialize ( & session) ?;
42
- Ok ( Some ( base64 :: encode ( serialized) ) )
43
+ Ok ( Some ( STANDARD . encode ( serialized) ) )
43
44
}
44
45
45
46
async fn destroy_session ( & self , _session : Session ) -> Result {
Original file line number Diff line number Diff line change
1
+ use base64:: { engine:: general_purpose:: STANDARD , Engine as _} ;
1
2
use rand:: RngCore ;
2
3
use serde:: { Deserialize , Serialize } ;
3
4
use std:: {
@@ -91,7 +92,7 @@ impl Default for Session {
91
92
fn generate_cookie ( len : usize ) -> String {
92
93
let mut key = vec ! [ 0u8 ; len] ;
93
94
rand:: thread_rng ( ) . fill_bytes ( & mut key) ;
94
- base64 :: encode ( key)
95
+ STANDARD . encode ( key)
95
96
}
96
97
97
98
impl Session {
@@ -138,9 +139,9 @@ impl Session {
138
139
/// # Ok(()) }) }
139
140
/// ```
140
141
pub fn id_from_cookie_value ( string : & str ) -> Result < String , base64:: DecodeError > {
141
- let decoded = base64 :: decode ( string) ?;
142
+ let decoded = STANDARD . decode ( string) ?;
142
143
let hash = blake3:: hash ( & decoded) ;
143
- Ok ( base64 :: encode ( hash. as_bytes ( ) ) )
144
+ Ok ( STANDARD . encode ( hash. as_bytes ( ) ) )
144
145
}
145
146
146
147
/// mark this session for destruction. the actual session record
You can’t perform that action at this time.
0 commit comments