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