aboutsummaryrefslogtreecommitdiff
path: root/src/config.rs
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2023-08-28 15:02:14 +0200
committermetamuffin <metamuffin@disroot.org>2023-08-28 15:02:14 +0200
commit186bf476aeab0ff0838d1ae26a9dbcb2e40a8eb5 (patch)
tree384ed6e8faaacd77b1a5f4f11a251ee228f1e927 /src/config.rs
parent2bc557bbddb01b535dd8512fe3aadb0d4091a42d (diff)
downloadgnix-186bf476aeab0ff0838d1ae26a9dbcb2e40a8eb5.tar
gnix-186bf476aeab0ff0838d1ae26a9dbcb2e40a8eb5.tar.bz2
gnix-186bf476aeab0ff0838d1ae26a9dbcb2e40a8eb5.tar.zst
what i invented here already existed: semaphore
Diffstat (limited to 'src/config.rs')
-rw-r--r--src/config.rs20
1 files changed, 14 insertions, 6 deletions
diff --git a/src/config.rs b/src/config.rs
index 89a2b54..c250b80 100644
--- a/src/config.rs
+++ b/src/config.rs
@@ -1,5 +1,8 @@
use anyhow::Context;
-use serde::{Deserialize, Serialize, Deserializer, de::{Visitor, Error, SeqAccess, value}};
+use serde::{
+ de::{value, Error, SeqAccess, Visitor},
+ Deserialize, Deserializer, Serialize,
+};
use std::{collections::HashMap, fmt, fs::read_to_string, net::SocketAddr, path::PathBuf};
#[derive(Debug, Serialize, Deserialize)]
@@ -27,7 +30,6 @@ pub struct HttpConfig {
#[derive(Debug, Serialize, Deserialize)]
pub struct HttpsConfig {
- #[serde(deserialize_with = "string_or_seq")]
pub bind: Vec<SocketAddr>,
pub tls_cert: PathBuf,
pub tls_key: PathBuf,
@@ -49,7 +51,9 @@ pub struct FileserverConfig {
// fall back to expecting a single string and putting that in a 1-length vector
fn string_or_seq<'de, D>(des: D) -> Result<Vec<SocketAddr>, D::Error>
-where D: Deserializer<'de> {
+where
+ D: Deserializer<'de>,
+{
struct StringOrList;
impl<'de> Visitor<'de> for StringOrList {
type Value = Vec<SocketAddr>;
@@ -59,13 +63,17 @@ where D: Deserializer<'de> {
}
fn visit_str<E>(self, val: &str) -> Result<Vec<SocketAddr>, E>
- where E: Error {
+ where
+ E: Error,
+ {
let addr = SocketAddr::deserialize(value::StrDeserializer::new(val))?;
Ok(vec![addr])
}
fn visit_seq<A>(self, val: A) -> Result<Vec<SocketAddr>, A::Error>
- where A: SeqAccess<'de> {
+ where
+ A: SeqAccess<'de>,
+ {
Vec::<SocketAddr>::deserialize(value::SeqAccessDeserializer::new(val))
}
}
@@ -85,7 +93,7 @@ impl Default for Limits {
fn default() -> Self {
Self {
max_incoming_connections: 1024,
- max_outgoing_connections: usize::MAX,
+ max_outgoing_connections: 2048,
}
}
}