use serde::{Deserialize, Serialize}; #[derive(Debug, Clone, Copy, Default, PartialEq, Eq, Serialize, Deserialize)] #[serde(rename_all = "snake_case")] pub enum SessionMode { Manual, #[default] OptIn, Persistent, } #[derive(Debug, Clone, Copy, Default, PartialEq, Eq, Serialize, Deserialize)] #[serde(rename_all = "snake_case")] pub enum SameSite { Strict, #[default] Lax, None, } #[derive(Debug, Clone, Default, Serialize, Deserialize)] #[serde(default)] pub struct SessionConfig { pub mode: Option, pub cookie_name: Option, pub cookie_domain: Option, pub cookie_path: Option, pub cookie_http_only: Option, pub cookie_secure: Option, pub cookie_same_site: Option, pub cookie_max_age_secs: Option, pub cookie_prefix_host: Option, pub cookie_encode_ip_and_user_agent: Option, pub lifespan_secs: Option, pub max_lifespan_secs: Option, pub memory_lifespan_secs: Option, pub table_name: Option, pub key: Option, pub database_key: Option, pub always_save: Option, pub db_update_interval_secs: Option, pub purge_database_update_secs: Option, pub enable_bloom_filter: Option, }