# actix_web::middleware::session::Session - Rust
API documentation for the Rust `Session` struct in crate `actix_web`.
Keywords: rust, rustlang, rust-lang, Session

# Struct actix_web::middleware::session::Session [−] [src]

    pub struct Session(_);

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

Session object could be obtained with `RequestSession::session` method. `RequestSession` trait is implemented for `HttpRequest`.

    use actix_web::middleware::session::RequestSession;
    use actix_web::*;

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

        Ok("Welcome!")
    }

## Methods

###

`impl Session`

[src]

####

`pub fn get<T: DeserializeOwned>(&self, key: &str) -> Result<Option<T>>`

[src]

Get a `value` from the session.

####

`pub fn set<T: Serialize>(&self, key: &str, value: T) -> Result<()>`

[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.

## Trait Implementations

###

`impl<S> FromRequest<S> for Session`

[src]

Extractor implementation for Session type.

    use actix_web::middleware::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 Config = ()`

Configuration for conversion process

#### `type Result = Session`

Future that resolves to a Self

####

`fn from_request(req: &HttpRequest<S>, _: &Self::Config) -> Self::Result`

[src]

Convert request to a Self

####

`fn extract(req: &HttpRequest<S>) -> Self::Result`

[src]

Convert request to a Self Read more

## Auto Trait Implementations

###

`impl !Send for Session`

###

`impl !Sync for Session`

# Help

## Keyboard Shortcuts

`?`
  Show this help dialog
`S`
  Focus the search field
`↑`
  Move up in search results
`↓`
  Move down in search results
`↹`
  Switch tab
`⏎`
  Go to active search result
`+`
  Expand all sections
`-`
  Collapse all sections

## Search Tricks

Prefix searches with a type followed by a colon (e.g. `fn:`) to restrict the search to a given type.

Accepted types are: `fn`, `mod`, `struct`, `enum`, `trait`, `type`, `macro`, and `const`.

Search functions by type signature (e.g. `vec -> usize` or `* -> vec`)

Search multiple things at once by splitting your query with comma (e.g. `str,u8` or `String,struct:Vec,test`)