# Iron Rusqlite Middleware [![Build Status](https://travis-ci.org/KevinMidkiff/iron-rusqlite-middleware.svg?branch=master)](https://travis-ci.org/KevinMidkiff/iron-rusqlite-middleware) iron_rusqlite_middleware’s current version badge Middleware for the Iron framework for rust enabling database connections using rusqlite. This library is inspired by the [Iron Diesel Middleware](https://github.com/darayus/iron-diesel-middleware). ## Adding to Cargo Project To add this library to your cargo project add the following to your `Cargo.toml`. ```toml [dependencies] iron_rusqlite_middleware = "0.1.1" ``` ## Usage The following example showcases the major components needed for using this library in your Iron project. ```rust // Include Iron crate with any needed "use" statements // Include the middleware's crate extern crate iron_rusqlite_middleware; use iron_rusqlite_middleware::{RusqliteMiddleware, RusqliteRequestExtension}; fn handler(req: &mut Request) -> IronResult { // The SQLite database connection is added into the Request object through the extension let conn = req.database_connection(); // Do your request Ok(Response::with((status::Ok, "Done.")) } fn main() { // Initialize the middleware let rusqlite_middleware = RusqliteMiddleware::new("example.db").unwrap(); // Create the Iron chain of middlewares let mut chain = Chain::new(handler); // Add in the middleware as before chain.link_before(rusqlite_middleware); // Start your Iron webserver let addr = "127.0.0.1:3000"; println!("-- Running webserver on {}", addr); Iron::new(chain).http(addr).unwrap(); } ``` ## License This library is provided under an MIT license, and is provided WITHOUT WARRENTY.