Struct trillium_sessions::CookieStore
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§
§impl CookieStore
impl CookieStore
pub fn new() -> CookieStore
pub fn new() -> CookieStore
constructs a new CookieStore
Trait Implementations§
§impl Clone for CookieStore
impl Clone for CookieStore
§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 more§impl Debug for CookieStore
impl Debug for CookieStore
§impl SessionStore for CookieStore
impl SessionStore for CookieStore
§fn load_session<'life0, 'async_trait>(
&'life0 self,
cookie_value: String
) -> Pin<Box<dyn Future<Output = Result<Option<Session>, Error>> + Send + 'async_trait>>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>>where
'life0: 'async_trait,
CookieStore: 'async_trait,
Get a session from the storage backend. Read more
§fn store_session<'life0, 'async_trait>(
&'life0 self,
session: Session
) -> Pin<Box<dyn Future<Output = Result<Option<String>, Error>> + Send + 'async_trait>>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>>where
'life0: 'async_trait,
CookieStore: 'async_trait,
Store a session on the storage backend. Read more
§fn destroy_session<'life0, 'async_trait>(
&'life0 self,
_session: Session
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
CookieStore: 'async_trait,
fn destroy_session<'life0, 'async_trait>(
&'life0 self,
_session: Session
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
CookieStore: 'async_trait,
Remove a session from the session store
§fn clear_store<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
CookieStore: 'async_trait,
fn clear_store<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
CookieStore: 'async_trait,
Empties the entire store, destroying all sessions
impl Copy for CookieStore
Auto Trait Implementations§
impl RefUnwindSafe for CookieStore
impl Send for CookieStore
impl Sync for CookieStore
impl Unpin for CookieStore
impl UnwindSafe for CookieStore
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more