Files
gitks/session/config.rs
T
2026-06-07 11:30:56 +08:00

37 lines
1.1 KiB
Rust

use crate::config::AppConfig;
use crate::error::AppResult;
impl AppConfig {
pub fn session_cookie_name(&self) -> AppResult<String> {
self.get_env_or("APP_SESSION_COOKIE_NAME", "sid".to_string())
}
pub fn session_cookie_secure(&self) -> AppResult<bool> {
self.get_env_or("APP_SESSION_COOKIE_SECURE", true)
}
pub fn session_cookie_http_only(&self) -> AppResult<bool> {
self.get_env_or("APP_SESSION_COOKIE_HTTP_ONLY", true)
}
pub fn session_cookie_same_site(&self) -> AppResult<String> {
self.get_env_or("APP_SESSION_COOKIE_SAME_SITE", "Lax".to_string())
}
pub fn session_cookie_path(&self) -> AppResult<String> {
self.get_env_or("APP_SESSION_COOKIE_PATH", "/".to_string())
}
pub fn session_cookie_domain(&self) -> AppResult<Option<String>> {
self.get_env::<String>("APP_SESSION_COOKIE_DOMAIN")
}
pub fn session_ttl_secs(&self) -> AppResult<u64> {
self.get_env_or("APP_SESSION_TTL_SECS", 86400)
}
pub fn session_max_age_secs(&self) -> AppResult<Option<u64>> {
self.get_env::<u64>("APP_SESSION_MAX_AGE_SECS")
}
}