Struct salvo_session::CookieStore
source · pub struct CookieStore;
Expand description
A session store that serializes the entire session into a Cookie.
This is not recommended for most production deployments.
This implementation uses bincode
to serialize the
Session to decrease the size of the cookie. Note: There is a
maximum of 4093 cookie bytes allowed per domain, so the cookie
store is limited in capacity.
Note: Currently, the data in the cookie is only signed, but not encrypted. If the contained session data is sensitive and should not be read by a user, the cookie store is not an appropriate choice.
Expiry: SessionStore::destroy_session
and
SessionStore::clear_store
are not meaningful for the
CookieStore, and noop. Destroying a session must be done at the
cookie setting level, which is outside of the scope of this crate.
Implementations§
source§impl CookieStore
impl CookieStore
sourcepub fn new() -> CookieStore
pub fn new() -> CookieStore
constructs a new CookieStore
Trait Implementations§
source§impl Clone for CookieStore
impl Clone for CookieStore
source§fn clone(&self) -> CookieStore
fn clone(&self) -> CookieStore
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Debug for CookieStore
impl Debug for CookieStore
source§impl SessionStore for CookieStore
impl SessionStore for CookieStore
source§fn load_session<'life0, 'async_trait>(
&'life0 self,
cookie_value: String
) -> Pin<Box<dyn Future<Output = Result<Option<Session>, Error>> + Send + 'async_trait, Global>>where
'life0: 'async_trait,
CookieStore: 'async_trait,
fn load_session<'life0, 'async_trait>(
&'life0 self,
cookie_value: String
) -> Pin<Box<dyn Future<Output = Result<Option<Session>, Error>> + Send + 'async_trait, Global>>where
'life0: 'async_trait,
CookieStore: 'async_trait,
Get a session from the storage backend. Read more
source§fn store_session<'life0, 'async_trait>(
&'life0 self,
session: Session
) -> Pin<Box<dyn Future<Output = Result<Option<String>, Error>> + Send + 'async_trait, Global>>where
'life0: 'async_trait,
CookieStore: 'async_trait,
fn store_session<'life0, 'async_trait>(
&'life0 self,
session: Session
) -> Pin<Box<dyn Future<Output = Result<Option<String>, Error>> + Send + 'async_trait, Global>>where
'life0: 'async_trait,
CookieStore: 'async_trait,
Store a session on the storage backend. Read more