Settings hot reloading - Part 4
This commit is contained in:
@@ -65,7 +65,7 @@ impl Servers {
|
||||
// Parse protocol
|
||||
let id = id_.as_str();
|
||||
let protocol =
|
||||
if let Some(protocol) = config.property_require_(("server.listener", id, "protocol")) {
|
||||
if let Some(protocol) = config.property_require(("server.listener", id, "protocol")) {
|
||||
protocol
|
||||
} else {
|
||||
return;
|
||||
@@ -73,7 +73,7 @@ impl Servers {
|
||||
|
||||
// Build listeners
|
||||
let mut listeners = Vec::new();
|
||||
for (_, addr) in config.properties_::<SocketAddr>(("server.listener", id, "bind")) {
|
||||
for (_, addr) in config.properties::<SocketAddr>(("server.listener", id, "bind")) {
|
||||
// Parse bind address and build socket
|
||||
let socket = match if addr.is_ipv4() {
|
||||
TcpSocket::new_v4()
|
||||
@@ -144,17 +144,17 @@ impl Servers {
|
||||
socket,
|
||||
addr,
|
||||
ttl: config
|
||||
.property_or_else_(("server.listener", id, "socket.ttl"), "server.socket.ttl"),
|
||||
backlog: config.property_or_else_(
|
||||
.property_or_else(("server.listener", id, "socket.ttl"), "server.socket.ttl"),
|
||||
backlog: config.property_or_else(
|
||||
("server.listener", id, "socket.backlog"),
|
||||
"server.socket.backlog",
|
||||
),
|
||||
linger: config.property_or_else_(
|
||||
linger: config.property_or_else(
|
||||
("server.listener", id, "socket.linger"),
|
||||
"server.socket.linger",
|
||||
),
|
||||
nodelay: config
|
||||
.property_or_else_(
|
||||
.property_or_else(
|
||||
("server.listener", id, "socket.nodelay"),
|
||||
"server.socket.nodelay",
|
||||
)
|
||||
@@ -172,7 +172,7 @@ impl Servers {
|
||||
|
||||
// Build TLS config
|
||||
let (acceptor, tls_implicit) = if config
|
||||
.property_or_else_(("server.listener", id, "tls.enable"), "server.tls.enable")
|
||||
.property_or_else(("server.listener", id, "tls.enable"), "server.tls.enable")
|
||||
.unwrap_or(false)
|
||||
{
|
||||
// Parse protocol versions
|
||||
@@ -203,7 +203,7 @@ impl Servers {
|
||||
} else {
|
||||
"server.tls.disable-ciphers".as_key()
|
||||
};
|
||||
for (_, protocol) in config.properties_::<SupportedCipherSuite>(cipher_keys) {
|
||||
for (_, protocol) in config.properties::<SupportedCipherSuite>(cipher_keys) {
|
||||
disabled_ciphers.push(protocol);
|
||||
}
|
||||
|
||||
@@ -225,7 +225,7 @@ impl Servers {
|
||||
// Check if this port is used to receive ACME challenges
|
||||
let port_key = ("acme", acme_id, "port").as_key();
|
||||
let acme_port = config
|
||||
.property_or_default_::<u16>(port_key, "443")
|
||||
.property_or_default::<u16>(port_key, "443")
|
||||
.unwrap_or(443);
|
||||
if listeners.iter().any(|l| l.addr.port() == acme_port) {
|
||||
acme_acceptor = Some(acme.clone());
|
||||
@@ -284,7 +284,7 @@ impl Servers {
|
||||
};
|
||||
|
||||
server_config.ignore_client_order = config
|
||||
.property_or_else_(
|
||||
.property_or_else(
|
||||
("server.listener", id, "tls.ignore-client-order"),
|
||||
"server.tls.ignore-client-order",
|
||||
)
|
||||
@@ -308,7 +308,7 @@ impl Servers {
|
||||
(
|
||||
acceptor,
|
||||
config
|
||||
.property_or_else_(
|
||||
.property_or_else(
|
||||
("server.listener", id, "tls.implicit"),
|
||||
"server.tls.implicit",
|
||||
)
|
||||
@@ -325,13 +325,13 @@ impl Servers {
|
||||
} else {
|
||||
"server.proxy.trusted-networks".as_key()
|
||||
};
|
||||
for (_, network) in config.properties_(proxy_keys) {
|
||||
for (_, network) in config.properties(proxy_keys) {
|
||||
proxy_networks.push(network);
|
||||
}
|
||||
|
||||
self.servers.push(Server {
|
||||
max_connections: config
|
||||
.property_or_else_(
|
||||
.property_or_else(
|
||||
("server.listener", id, "max-connections"),
|
||||
"server.max-connections",
|
||||
)
|
||||
|
||||
@@ -59,9 +59,9 @@ impl Servers {
|
||||
let key_pk = ("certificate", cert_id, "private-key");
|
||||
|
||||
let cert = config
|
||||
.value_require_(key_cert)
|
||||
.value_require(key_cert)
|
||||
.map(|s| s.as_bytes().to_vec());
|
||||
let pk = config.value_require_(key_pk).map(|s| s.as_bytes().to_vec());
|
||||
let pk = config.value_require(key_pk).map(|s| s.as_bytes().to_vec());
|
||||
|
||||
if let (Some(cert), Some(pk)) = (cert, pk) {
|
||||
match build_certified_key(cert, pk) {
|
||||
@@ -135,7 +135,7 @@ impl Servers {
|
||||
})
|
||||
.collect::<Vec<_>>();
|
||||
let renew_before: Duration = config
|
||||
.property_or_default_(("acme", acme_id.as_str(), "renew-before"), "30d")
|
||||
.property_or_default(("acme", acme_id.as_str(), "renew-before"), "30d")
|
||||
.unwrap_or_else(|| Duration::from_secs(30 * 24 * 60 * 60));
|
||||
|
||||
if directory.is_empty() {
|
||||
|
||||
Reference in New Issue
Block a user