diff options
Diffstat (limited to 'src/main.rs')
-rw-r--r-- | src/main.rs | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/src/main.rs b/src/main.rs index 0dd692e..44298d7 100644 --- a/src/main.rs +++ b/src/main.rs @@ -5,7 +5,7 @@ use actix_web::{ }; use actix_web::{middleware, App, HttpRequest, HttpResponse}; use actix_web_httpauth::middleware::HttpAuthentication; -use args::Header; +use http::header::HeaderMap; use std::io::{self, Write}; use std::net::{IpAddr, Ipv4Addr, SocketAddr}; use std::thread; @@ -91,7 +91,7 @@ pub struct MiniserveConfig { pub title: Option<String>, /// If specified, header will be added - pub header: Option<Header>, + pub header: Option<HeaderMap>, } fn main() { @@ -285,11 +285,17 @@ async fn run() -> Result<(), ContextualError> { } fn configure_header(conf: &MiniserveConfig) -> middleware::DefaultHeaders { - let header = conf.clone().header; - - match header { - Some(header) if header.name != httparse::EMPTY_HEADER.name => { - middleware::DefaultHeaders::new().header(&header.name, header.value) + let headers = conf.clone().header; + + match headers { + Some(headers) => { + let mut default_headers = middleware::DefaultHeaders::new(); + for (header_name, header_value) in headers.into_iter() { + if let Some(header_name) = header_name { + default_headers = default_headers.header(&header_name, header_value); + } + } + default_headers } _ => middleware::DefaultHeaders::new(), } |