session [](https://travis-ci.org/hikelee/session)
====
> Request session extension for the [Iron](https://github.com/iron/iron) web framework.
session is a fast, convenient, and flexible extension for Iron Request. Use redis as the backend data repos.
## Example
```rust
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))))
}
```
## Installation
If you're using cargo, just add session to your `Cargo.toml`.
```toml
[dependencies]
session = "*"
```
Otherwise, `cargo build`, and the rlib will be in your `target` directory.
## [Examples](/examples)