diff options
-rw-r--r-- | src/files.rs | 4 | ||||
-rw-r--r-- | src/proxy.rs | 14 |
2 files changed, 13 insertions, 5 deletions
diff --git a/src/files.rs b/src/files.rs index c30a2bd..888954e 100644 --- a/src/files.rs +++ b/src/files.rs @@ -189,7 +189,7 @@ markup::define! { } } td { @if meta.file_type().is_dir() { - "directory" + i { "directory" } } else { @humansize::format_size(meta.len(), FormatSizeOptions::default()) } @@ -197,7 +197,7 @@ markup::define! { } } } hr; - footer { sub { "served by gnix" } } + footer { sub { "served by" a[href="https://codeberg.org/metamuffin/gnix"] { "gnix" } } } } } } diff --git a/src/proxy.rs b/src/proxy.rs index 65fc5a8..aff1ae5 100644 --- a/src/proxy.rs +++ b/src/proxy.rs @@ -2,7 +2,7 @@ use crate::ServiceError; use http_body_util::{combinators::BoxBody, BodyExt}; use hyper::{ body::Incoming, - header::UPGRADE, + header::{SERVER, UPGRADE}, http::{ uri::{PathAndQuery, Scheme}, HeaderValue, @@ -67,8 +67,16 @@ pub async fn proxy_request( .map_err(ServiceError::Hyper)? }; - resp.headers_mut() - .insert("server", HeaderValue::from_static("gnix")); + let server_header = resp.headers().get(SERVER).cloned(); + resp.headers_mut().insert( + SERVER, + HeaderValue::from_str(&if let Some(o) = server_header { + format!("{} via gnix", o.to_str().unwrap()) + } else { + format!("gnix") + }) + .unwrap(), + ); if do_upgrade { let on_upgrade_upstream = resp.extensions_mut().remove::<OnUpgrade>(); |