#web-framework #poem-web #web #async #http #framework

poem-dbsession

为 Poem 提供的数据库会话存储

118 个版本

0.3.56 2023 年 6 月 6 日
0.3.55 2023 年 2 月 18 日
0.3.52 2023 年 1 月 13 日
0.3.50 2022 年 12 月 1 日
0.2.19 2021 年 12 月 31 日

#720 in HTTP 服务器

Download history

每月 295 次下载

MIT/Apache

785KB
18K SLoC

使用数据库为 Poem 实现会话存储

功能特点

sqlx

功能 数据库 tls
sqlx-mysql-rustls mysql rustls
sqlx-mysql-native-tls mysql native-tls
sqlx-postgres-rustls postgres rustls
sqlx-postgres-native-tls postgres native-tls
sqlx-sqlite-rustls sqlite rustls
sqlx-sqlite-native-tls sqlite native-tls

示例

use poem::session::{CookieConfig, ServerSession, Session};
use poem_dbsession::{sqlx::MysqlSessionStorage, DatabaseConfig};
use sqlx::MySqlPool;

#[handler]
fn index(session: &Session) {
    todo!()
}

let pool = MySqlPool::connect("mysql://root:123456@localhost/my_database")
    .await
    .unwrap();
let storage = MysqlSessionStorage::try_new(DatabaseConfig::new(), pool).await.unwrap();
let route = Route::new().at("/", index).with(ServerSession::new(CookieConfig::new(),storage));

依赖项

~14–34MB
~564K SLoC