9个版本

使用旧的Rust 2015

0.1.8 2016年8月28日
0.1.7 2016年8月6日
0.1.6 2016年7月28日

#28 in #signing-key

MIT 许可证

10KB
192

会话 构建状态

为Iron web框架请求会话扩展。

会话是Iron请求的一个快速、方便、灵活的扩展,使用redis作为后端数据存储。

示例


extern crate iron;
extern crate session;
extern crate rustc_serialize;
use iron::prelude::*;
use session::*;

// To run, $ cargo run --example simple
// to use, $ curl "http://localhost:3000"

fn main() {
    let mut chain = Chain::new(handler);
    let signing_key = "key-123456";
    let expire_seconds = 3600;
    let connect_str = "redis://localhost";
    chain.around(session::Session::new(signing_key, expire_seconds, connect_str));
    Iron::new(chain).http("localhost:3000").unwrap();
}

fn handler(req: &mut Request) -> IronResult<Response> {
    let mut count = req.get_session::<usize>("count").unwrap_or(0);
    count += 1;
    req.set_session("count", &count).unwrap();
    Ok(Response::with((iron::status::Ok, format!("count:{}", &count))))
}

安装

如果您正在使用cargo,只需将session添加到您的Cargo.toml

[dependencies]

session = "*"

否则,运行cargo build,rlib将在您的target目录中。

示例

依赖项

~7MB
~160K SLoC