tower-sessions-file-based-store

Crates.iotower-sessions-file-based-store
lib.rstower-sessions-file-based-store
version0.1.3
created_at2024-12-17 00:47:32.421352+00
updated_at2025-01-18 04:47:03.541387+00
descriptionFile-based session store for `tower-sessions`.
homepagehttps://github.com/maxk42/tower-sessions-file-store
repositoryhttps://github.com/maxk42/tower-sessions-file-store
max_upload_size
id1485663
size34,173
Max (maxk42)

documentation

README

tower-sessions-file-based-store

tower-sessions-file-based-store is a simple and minimalistic file store backing provider for tower-sessions. Usage is extremely simple:

Example:

    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}.")
    }
    
Commit count: 11

cargo fmt