| Crates.io | tower-sessions-file-based-store |
| lib.rs | tower-sessions-file-based-store |
| version | 0.1.3 |
| created_at | 2024-12-17 00:47:32.421352+00 |
| updated_at | 2025-01-18 04:47:03.541387+00 |
| description | File-based session store for `tower-sessions`. |
| homepage | https://github.com/maxk42/tower-sessions-file-store |
| repository | https://github.com/maxk42/tower-sessions-file-store |
| max_upload_size | |
| id | 1485663 |
| size | 34,173 |
tower-sessions-file-based-store is a simple and minimalistic file store backing provider for
tower-sessions. Usage is extremely simple:
let session_store = tower_sessions_file_store::FileStore::new("/path/to/sessions/directory", "prefix-", ".json");
let session_layer = tower_sessions::SessionManagerLayer::new(session_store)
.with_secure(false)
.with_expiry(tower_sessions::Expiry::OnInactivity(Duration::seconds(15)))
;
Router::new()
.route("/sess_test", get(handle_sess_test));
.layer(session_layer)
;
/* ... Elsewhere ... */
async fn handle_sess_test(sess: tower_sessions::Session) -> impl axum::response::IntoResponse {
let counter: u32 = sess.get("count").await.unwrap().unwrap_or(0u32);
let _ = sess.insert("count", counter + 1).await;
format!("Count is {counter}.")
}