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
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Instruments this type with the provided Span
, returning an
Instrumented
wrapper. Read more
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
sourcefn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more