persistent 0.0.1

A set of middleware for sharing global data in Iron.
docs.rs failed to build persistent-0.0.1
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Visit the last successful build: persistent-0.4.0

persistent Build Status

Persistent storage as middleware for the Iron web framework.

Example

use iron::Plugin; // Request::get is provided through this trait.

pub struct HitCounter;
impl Assoc<uint> for HitCounter {}

fn serve_hits(req: &mut Request) -> IronResult<Response> {
    let mutex = req.get::<Write<HitCounter, uint>>().unwrap();
    let mut count = mutex.lock();

    *count += 1;
    Ok(Response::with(status::Ok, format!("Hits: {}", *count)))
}

fn main() {
    let mut chain = ChainBuilder::new(serve_hits);
    chain.link(Write::<HitCounter, uint>::both(0u));
    Iron::new(chain).listen(Ipv4Addr(127, 0, 0, 1), 3000);
}

Overview

persistent is a part of Iron's core bundle.

  • Share persistent data across requests
  • Read or modify locally stored data

Installation

If you're using a Cargo.toml to manage dependencies, just add persistent to the toml:

[dependencies.persistent]

git = "https://github.com/iron/persistent.git"

Otherwise, cargo build, and the rlib will be in your target directory.

Documentation

Along with the online documentation, you can build a local copy with make doc.

Examples

Get Help

One of us (@reem, @zzmp, @theptrk, @mcreinhard) is usually on #iron on the mozilla irc. Come say hi and ask any questions you might have. We are also usually on #rust and #rust-webdev.