Skip to content

Commit d46eff4

Browse files
Use base64 engine APIs instead of encode/decode
The `base64::encode`/`base64::decode` APIs were deprecated in version 0.21. See https://docs.rs/base64/latest/base64/index.html#usage.
1 parent 1539d31 commit d46eff4

File tree

2 files changed

+7
-5
lines changed

2 files changed

+7
-5
lines changed

src/cookie_store.rs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
use crate::{async_trait, Result, Session, SessionStore};
2+
use base64::{engine::general_purpose::STANDARD, Engine as _};
23

34
/// A session store that serializes the entire session into a Cookie.
45
///
@@ -32,14 +33,14 @@ impl CookieStore {
3233
#[async_trait]
3334
impl SessionStore for CookieStore {
3435
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)?;
3637
let session: Session = bincode::deserialize(&serialized)?;
3738
Ok(session.validate())
3839
}
3940

4041
async fn store_session(&self, session: Session) -> Result<Option<String>> {
4142
let serialized = bincode::serialize(&session)?;
42-
Ok(Some(base64::encode(serialized)))
43+
Ok(Some(STANDARD.encode(serialized)))
4344
}
4445

4546
async fn destroy_session(&self, _session: Session) -> Result {

src/session.rs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
use base64::{engine::general_purpose::STANDARD, Engine as _};
12
use rand::RngCore;
23
use serde::{Deserialize, Serialize};
34
use std::{
@@ -91,7 +92,7 @@ impl Default for Session {
9192
fn generate_cookie(len: usize) -> String {
9293
let mut key = vec![0u8; len];
9394
rand::thread_rng().fill_bytes(&mut key);
94-
base64::encode(key)
95+
STANDARD.encode(key)
9596
}
9697

9798
impl Session {
@@ -138,9 +139,9 @@ impl Session {
138139
/// # Ok(()) }) }
139140
/// ```
140141
pub fn id_from_cookie_value(string: &str) -> Result<String, base64::DecodeError> {
141-
let decoded = base64::decode(string)?;
142+
let decoded = STANDARD.decode(string)?;
142143
let hash = blake3::hash(&decoded);
143-
Ok(base64::encode(hash.as_bytes()))
144+
Ok(STANDARD.encode(hash.as_bytes()))
144145
}
145146

146147
/// mark this session for destruction. the actual session record

0 commit comments

Comments
 (0)