Trait salvo_extra::session::SessionStore[][src]

pub trait SessionStore: 'static + Debug + Send + Sync + Clone {
    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,
        Self: '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,
        Self: 'async_trait
;
fn destroy_session<'life0, 'async_trait>(
        &'life0 self,
        session: Session
    ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
;
fn clear_store<'life0, 'async_trait>(
        &'life0 self
    ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait, Global>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; }
Expand description

An async session backend.

Required methods

Get a session from the storage backend.

The input is expected to be the value of an identifying cookie. This will then be parsed by the session middleware into a session if possible

Store a session on the storage backend.

The return value is the value of the cookie to store for the user that represents this session

Remove a session from the session store

Empties the entire store, destroying all sessions

Implementors