2个不稳定版本
0.2.0 | 2019年10月16日 |
---|---|
0.1.0 | 2019年9月17日 |
#1254 在 HTTP服务器
28KB
257 行
Actix Sled Session
使用Sled嵌入式数据库的Actix Web会话后端
此会话后端为每个尚未设置ID的传入请求设置一个唯一的cookie,并使用该ID作为键从Sled树中查找会话数据。
使用方法
更新你的Cargo.toml
[dependencies]
actix = "0.8"
actix-sled-session = "0.2"
actix-web = "1.0"
在你的项目中使用它
use actix::System;
use actix_web::{web, App, HttpServer};
use actix_sled_session::{Session, SledSession};
fn index(session: Session) -> String {
if let Ok(Some(item)) = session.get::<usize>("item") {
println!("item, {}", item);
session.clear();
return format!("Got item, {}", item);
}
let _ = session.set::<usize>("item", 3);
String::from("Set item!")
}
fn main() -> Result<(), failure::Error> {
let sys = System::new("example");
let session_backend = SledSession::new_default()?;
HttpServer::new(move || {
App::new()
.wrap(session_backend.clone())
.route("/", web::get().to(index))
})
.bind("127.0.0.1:9876")?
.start();
sys.run()?;
Ok(())
}
贡献
除非另有说明,否则对本项目的所有贡献都将根据CSL许可,但除外文件“许可”部分中列出的例外。
许可
本作品受合作软件许可协议的许可。这不是一个免费软件许可,但可能被视为“源可用许可”。对于大多数业余爱好者、自雇开发者、员工拥有的公司和合作社,只要在CSL的条款下分发此软件,就可以在大多数项目中使用此软件。有关更多信息,请参阅提供的LICENSE文件。如果不存在,可以在这里找到许可证。如果您是免费软件项目,希望根据GNU Affero通用公共许可证使用此软件,请通过[email protected]联系我,我们可以解决这个问题。如果您希望在任何其他许可下使用此项目,尤其是在专有软件中,答案很可能是不行。
依赖关系
~28MB
~594K SLoC