diff options
Diffstat (limited to 'src/config.rs')
-rw-r--r-- | src/config.rs | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/config.rs b/src/config.rs index 58b885a..68479e4 100644 --- a/src/config.rs +++ b/src/config.rs @@ -6,10 +6,21 @@ use std::{collections::HashMap, fs::read_to_string, net::SocketAddr, path::PathB pub struct Config { pub http: Option<HttpConfig>, pub https: Option<HttpsConfig>, + #[serde(default)] + pub limits: Limits, + #[serde(default)] pub hosts: HashMap<String, HostConfig>, } #[derive(Debug, Serialize, Deserialize)] +pub struct Limits { + #[serde(default)] + pub max_incoming_connections: usize, + #[serde(default)] + pub max_outgoing_connections: usize, +} + +#[derive(Debug, Serialize, Deserialize)] pub struct HttpConfig { pub bind: SocketAddr, } @@ -42,3 +53,12 @@ impl Config { Ok(config) } } + +impl Default for Limits { + fn default() -> Self { + Self { + max_incoming_connections: 1024, + max_outgoing_connections: usize::MAX, + } + } +} |