#iron #middleware #sqlite #rusqlite #connection #rusqlite-middleware

iron_rusqlite_middleware

Iron 框架的 rusqlite SQLite 库中间件

2 个版本

使用旧的 Rust 2015

0.1.2 2018 年 6 月 8 日
0.1.1 2018 年 1 月 19 日

24 in #rusqlite

MIT 许可证

8KB
50

Iron Rusqlite Middleware

Build Status iron_rusqlite_middleware’s current version badge

为 Rust 的 Iron 框架提供中间件,允许使用 rusqlite 建立数据库连接。这个库受到 Iron Diesel Middleware 的启发。

添加到 Cargo 项目

要将此库添加到您的 cargo 项目中,请将以下内容添加到您的 Cargo.toml

[dependencies]
iron_rusqlite_middleware = "0.1.1"

使用方法

以下示例展示了在使用此库的 Iron 项目中所需的 主要组件。

// 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<Response> {
    // 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();
}

许可证

此库根据 MIT 许可证提供,且不提供任何担保。

依赖

~25MB
~507K SLoC