summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2023-02-24 15:06:21 +0100
committermetamuffin <metamuffin@disroot.org>2023-02-24 15:06:21 +0100
commit975f2325a0ee78f75e0ed2ab899d161868250e8d (patch)
treee5c410f4000db5234a041b74385c551416f0f654
parent08c6eca69ec1aaa85e474e1ed9cbb8856d55d16b (diff)
downloadgnix-975f2325a0ee78f75e0ed2ab899d161868250e8d.tar
gnix-975f2325a0ee78f75e0ed2ab899d161868250e8d.tar.bz2
gnix-975f2325a0ee78f75e0ed2ab899d161868250e8d.tar.zst
italic file type and hyperlink to source
-rw-r--r--src/files.rs4
-rw-r--r--src/proxy.rs14
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>();