#diesel #tide #middleware #transaction #postgresql

tide-diesel

Tide 中间件用于 Diesel 连接池和事务

3 个版本

0.1.2 2022 年 2 月 15 日
0.1.1 2022 年 2 月 7 日
0.1.0 2022 年 2 月 7 日

#1391HTTP 服务器

BlueOak-1.0.0

6KB
68

tide-diesel

Tide 中间件为 Diesel 连接池和事务。


一个 Tide 中间件,它维护一个 Diesel 数据库连接池,并自动将每个 tide::Request 的连接传递出去,该连接可以是数据库事务,也可以是直接的数据库连接池。

使用此中间件时,请使用 DieselRequestExt 扩展 trait 获取连接。

示例

基本

#[async_std::main]
async fn main() -> anyhow::Result<()> {
    use tide_diesel::DieselRequestExt;

    let mut app = tide::new();
    app.with(DieselMiddleware::new("postgres://127.0.0.1/a_database").await?);

    app.at("/").post(|req: tide::Request<()>| async move {
        let mut pg_conn = req.pg_conn().await;

        Ok("")
    });
    Ok(())
}

许可证

BlueOak 模型许可证 1.0.0 下授权 — 通过 DCO 1.1 贡献

依赖

~14–27MB
~401K SLoC