1个不稳定版本
0.0.1 | 2020年1月19日 |
---|
#17 in #session-middleware
600KB
14K SLoC
用户会话。
scrappy提供了一种通用的会话管理解决方案。会话中间件可以提供不同的实现,可以通过通用的会话API访问。
默认情况下,仅实现了cookie会话后端。其他后端实现可以添加。
通常,您需要插入一个 session 中间件并初始化它,例如一个 CookieSessionBackend
。要访问会话数据,必须使用 Session 提取器。会话提取器允许我们获取或设置会话数据。
use scrappy::{web, App, HttpServer, HttpResponse, Error};
use scrappy_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!")
}
#[scrappy_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
}
依赖项
~28MB
~602K SLoC