1 unstable release
0.3.0-r1 | Jan 18, 2020 |
---|
#14 in #session-middleware
470KB
10K
SLoC
Session for actix web framework
Documentation & community resources
- User Guide
- API Documentation
- Chat on gitter
- Cargo package: actix-session
- Minimum supported Rust version: 1.34 or later
lib.rs
:
User sessions.
Actix provides a general solution for session management. Session middlewares could provide different implementations which could be accessed via general session api.
By default, only cookie session backend is implemented. Other backend implementations can be added.
In general, you insert a session middleware and initialize it
, such as a CookieSessionBackend
. To access session data,
Session extractor must be used. Session
extractor allows us to get or set session data.
use requiem_web::{web, App, HttpServer, HttpResponse, Error};
use requiem_session::{Session, CookieSession};
fn index(session: Session) -> Result<&'static str, Error> {
// access session data
if let Some(count) = session.get::<i32>("counter")? {
println!("SESSION value: {}", count);
session.set("counter", count+1)?;
} else {
session.set("counter", 1)?;
}
Ok("Welcome!")
}
#[requiem_rt::main]
async fn main() -> std::io::Result<()> {
HttpServer::new(
|| App::new().wrap(
CookieSession::signed(&[0; 32]) // <- create cookie based session middleware
.secure(false)
)
.service(web::resource("/").to(|| HttpResponse::Ok())))
.bind("127.0.0.1:59880")?
.run()
.await
}
Dependencies
~32MB
~662K SLoC