Struct actix_session::Session[][src]

pub struct Session(_);

The high-level interface you use to modify session data.

Session object is obtained with UserSession::get_session. The UserSession trait is implemented for HttpRequest, ServiceRequest, and RequestHead.

use actix_session::Session;
use actix_web::Result;

async fn index(session: Session) -> Result<&'static str> {
    // access session data
    if let Some(count) = session.get::<i32>("counter")? {
        session.set("counter", count + 1)?;
    } else {
        session.set("counter", 1)?;
    }

    Ok("Welcome!")
}

Implementations

impl Session[src]

pub fn get<T: DeserializeOwned>(&self, key: &str) -> Result<Option<T>, Error>[src]

Get a value from the session.

pub fn set<T: Serialize>(&self, key: &str, value: T) -> Result<(), Error>[src]

Set a value from the session.

pub fn remove(&self, key: &str)[src]

Remove value from the session.

pub fn clear(&self)[src]

Clear the session.

pub fn purge(&self)[src]

Removes session, both client and server side.

pub fn renew(&self)[src]

Renews the session key, assigning existing session state to new key.

pub fn set_session(
    data: impl IntoIterator<Item = (String, String)>,
    req: &mut ServiceRequest
)
[src]

Adds the given key-value pairs to the session on the request.

Values that match keys already existing on the session will be overwritten. Values should already be JSON serialized.

Examples

let mut req = test::TestRequest::default().to_srv_request();

Session::set_session(
    vec![("counter".to_string(), serde_json::to_string(&0).unwrap())],
    &mut req,
);

pub fn get_changes<B>(
    res: &mut ServiceResponse<B>
) -> (SessionStatus, Option<impl Iterator<Item = (String, String)>>)
[src]

Trait Implementations

impl FromRequest for Session[src]

Extractor implementation for Session type.

use actix_session::Session;

fn index(session: Session) -> Result<&'static str> {
    // access session data
    if let Some(count) = session.get::<i32>("counter")? {
        session.set("counter", count + 1)?;
    } else {
        session.set("counter", 1)?;
    }

    Ok("Welcome!")
}

type Error = Error

The associated error which can be returned.

type Future = Ready<Result<Session, Error>>

Future that resolves to a Self.

type Config = ()

Configuration for this extractor.

Auto Trait Implementations

impl !RefUnwindSafe for Session

impl !Send for Session

impl !Sync for Session

impl Unpin for Session

impl !UnwindSafe for Session

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,