v0.35.1: performance, AGPL licensing and documentation overhaul

- Web Server reads static files inline; proxy middleware chain flattened
- About window with license summary and project links; AGPL-3.0-or-later
- Rewritten documentation: feature list, screenshots, performance guide
- Fix false spikes in per-Vhost request-rate charts
This commit is contained in:
gru committed 2026-11-05 18:29:56 +01:00
1 parent d3b492874b
commit eba9f89283
135 files changed
+1425 -1064

No files matched your search

+5 -5
View File
@@ -184,7 +184,7 @@ pub fn withdraw_advertisement(
tls: bool,
active: &[Listener],
) {
headers.remove("alt-svc");
headers.remove(::http::header::ALT_SVC);
if tls
&& local.is_some_and(|local| {
active
@@ -192,7 +192,7 @@ pub fn withdraw_advertisement(
.any(|binding| binding.matches(local, true) && binding.http3.is_some())
})
{
headers.insert("alt-svc", HeaderValue::from_static("clear"));
headers.insert(::http::header::ALT_SVC, HeaderValue::from_static("clear"));
}
}
@@ -204,7 +204,7 @@ pub fn advertise(
desired: &[Listener],
host_http3_enabled: bool,
) {
headers.remove("alt-svc");
headers.remove(::http::header::ALT_SVC);
if !tls {
return;
}
@@ -225,7 +225,7 @@ pub fn advertise(
if let Some(settings) = settings {
let value = format!("h3=\":{}\"; ma={}", local.port(), settings.alt_svc_max_age);
if let Ok(value) = HeaderValue::from_str(&value) {
headers.insert("alt-svc", value);
headers.insert(::http::header::ALT_SVC, value);
}
}
}
@@ -436,7 +436,7 @@ async fn connection_loop(
);
send.stop_stream(Code::H3_MESSAGE_ERROR);return;
}
let expected=request.headers().get("content-length").and_then(|v|v.to_str().ok()).and_then(|v|v.parse::<u64>().ok());
let expected=request.headers().get(::http::header::CONTENT_LENGTH).and_then(|v|v.to_str().ok()).and_then(|v|v.parse::<u64>().ok());
let mut tunnel_receive=None;
let mut request=if websocket {
tunnel_receive=Some(receive);