pub struct AddSession<T>(/* private fields */);Expand description
Middleware that can access and modify all sessions data. Usually used for Login handler
§Example
#[derive(PartialEq, Clone)]
struct User;
async fn login(Extension(session): Extension<Arc<SessionStore<User>>>) {
let new_user = User;
session.insert("session_id", new_user);
}
#[tokio::main]
async fn main() {
let session = Arc::new(SessionStore::<User>::new("my_session"));
let app = Router::new()
.route("/login", post(login))
.layer(FilterExLayer::new(AddSession::new(session.clone())));
}Implementations§
Source§impl<T> AddSession<T>
impl<T> AddSession<T>
pub fn new(store: Arc<SessionStore<T>>) -> Self
Trait Implementations§
Source§impl<T: Clone> Clone for AddSession<T>
impl<T: Clone> Clone for AddSession<T>
Source§fn clone(&self) -> AddSession<T>
fn clone(&self) -> AddSession<T>
Returns a duplicate 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<T: Debug> Debug for AddSession<T>
impl<T: Debug> Debug for AddSession<T>
Auto Trait Implementations§
impl<T> Freeze for AddSession<T>
impl<T> !RefUnwindSafe for AddSession<T>
impl<T> Send for AddSession<T>
impl<T> Sync for AddSession<T>
impl<T> Unpin for AddSession<T>
impl<T> !UnwindSafe for AddSession<T>
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