25 releases

0.6.0 Jan 2, 2024
0.5.1 Oct 10, 2023
0.5.0 Jul 26, 2023
0.4.0 Feb 18, 2023
0.0.0 Dec 17, 2019

#271 in HTTP server

Download history 276/week @ 2023-12-28 38/week @ 2024-01-04 43/week @ 2024-01-11 5/week @ 2024-02-01 5/week @ 2024-02-15 14/week @ 2024-02-22 15/week @ 2024-02-29 156/week @ 2024-03-07 33/week @ 2024-03-14 36/week @ 2024-03-21 17/week @ 2024-03-28 4/week @ 2024-04-04

57 downloads per month
Used in 2 crates

MIT/Apache

17KB
226 lines

Sessions

General sessions module for web services


Features

  • Async/await

  • Easy custom Storages

  • Stores the values in a BTreeMap<String, Value>

Example

sessions = { version = "0.4", features = ["memory"] }
use std::sync::Arc;
use sessions::*;

let config = Arc::new(Store::new(
  MemoryStorage::new(),
  nano_id::base64::<32>,
  |sid: &str| sid.len() == 32,
));


let session = Session::new(Data::new());
session.set::<String>("crate", "sessions".to_string());
let val: Option<String> = session.get("crate");
session.remove("crate");
session.clear();

Storages

  • Memory
  • Redis
  • SQLx
    • SQLite
    • PostgreSQL
    • MySQL/MariaDB
  • Memcached
  • Mongodb

License

Licensed under either of Apache License, Version 2.0 or MIT license at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in this crate by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Dependencies

~0.4–15MB
~159K SLoC