33 lines
650 B
Rust
33 lines
650 B
Rust
use std::path::PathBuf;
|
|
|
|
use serde::Deserialize;
|
|
|
|
#[derive(Deserialize)]
|
|
pub struct Config {
|
|
#[serde(default = "default_data_dir")]
|
|
pub data_dir: PathBuf,
|
|
#[serde(default = "default_domain")]
|
|
pub domain: String,
|
|
#[serde(default = "default_port")]
|
|
pub port: u16,
|
|
#[serde(default = "default_session_cleanup_interval")]
|
|
pub session_cleanup_interval: u64,
|
|
}
|
|
|
|
fn default_data_dir() -> PathBuf {
|
|
PathBuf::from("./data")
|
|
}
|
|
|
|
fn default_domain() -> String {
|
|
"127.0.0.1".to_string()
|
|
}
|
|
|
|
fn default_port() -> u16 {
|
|
8080
|
|
}
|
|
|
|
fn default_session_cleanup_interval() -> u64 {
|
|
// Default is once a day
|
|
60 * 60 * 24
|
|
}
|