Struct gotham::middleware::session::SessionData
source · [−]pub struct SessionData<T> where
T: Default + Serialize + for<'de> Deserialize<'de> + Send + 'static, { /* private fields */ }
Expand description
The wrapping type for application session data.
The application will receive a SessionData<T>
via the State
container, where T
is the
session type given to NewSessionMiddleware
.
Examples
#[derive(Default, Serialize, Deserialize)]
struct MySessionType {
items: Vec<String>,
}
fn my_handler(state: State) -> (State, Response<Body>) {
// The `Router` has a `NewSessionMiddleware<_, MySessionType>` in a pipeline which is
// active for this handler.
let body = {
let session = SessionData::<MySessionType>::borrow_from(&state);
format!("{:?}", session.items)
};
let response = create_response(&state,
StatusCode::OK,
mime::TEXT_PLAIN,
body);
(state, response)
}
Implementations
sourceimpl<T> SessionData<T> where
T: Default + Serialize + for<'de> Deserialize<'de> + Send + 'static,
impl<T> SessionData<T> where
T: Default + Serialize + for<'de> Deserialize<'de> + Send + 'static,
Trait Implementations
sourceimpl<T> Deref for SessionData<T> where
T: Default + Serialize + for<'de> Deserialize<'de> + Send + 'static,
impl<T> Deref for SessionData<T> where
T: Default + Serialize + for<'de> Deserialize<'de> + Send + 'static,
sourceimpl<T> DerefMut for SessionData<T> where
T: Default + Serialize + for<'de> Deserialize<'de> + Send + 'static,
impl<T> DerefMut for SessionData<T> where
T: Default + Serialize + for<'de> Deserialize<'de> + Send + 'static,
impl<T> StateData for SessionData<T> where
T: Default + Serialize + for<'de> Deserialize<'de> + Send + 'static,
Auto Trait Implementations
impl<T> !RefUnwindSafe for SessionData<T>
impl<T> Send for SessionData<T>
impl<T> !Sync for SessionData<T>
impl<T> Unpin for SessionData<T> where
T: Unpin,
impl<T> !UnwindSafe for SessionData<T>
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcepub fn borrow_mut(&mut self) -> &mut T
pub fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more