diff options
author | metamuffin <metamuffin@disroot.org> | 2023-02-24 15:06:21 +0100 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2023-02-24 15:06:21 +0100 |
commit | 975f2325a0ee78f75e0ed2ab899d161868250e8d (patch) | |
tree | e5c410f4000db5234a041b74385c551416f0f654 /src/proxy.rs | |
parent | 08c6eca69ec1aaa85e474e1ed9cbb8856d55d16b (diff) | |
download | gnix-975f2325a0ee78f75e0ed2ab899d161868250e8d.tar gnix-975f2325a0ee78f75e0ed2ab899d161868250e8d.tar.bz2 gnix-975f2325a0ee78f75e0ed2ab899d161868250e8d.tar.zst |
italic file type and hyperlink to source
Diffstat (limited to 'src/proxy.rs')
-rw-r--r-- | src/proxy.rs | 14 |
1 files changed, 11 insertions, 3 deletions
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>(); |