aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/args.rs6
-rw-r--r--src/main.rs15
2 files changed, 6 insertions, 15 deletions
diff --git a/src/args.rs b/src/args.rs
index 5467573..ff8d92b 100644
--- a/src/args.rs
+++ b/src/args.rs
@@ -1,4 +1,3 @@
-use bytes::Bytes;
use clap::{Clap, ValueHint};
use clap_generate::Shell;
use http::header::{HeaderMap, HeaderName, HeaderValue};
@@ -212,15 +211,14 @@ fn parse_auth(src: &str) -> Result<auth::RequiredAuth, ContextualError> {
/// Custom header parser (allow multiple headers input)
pub fn parse_header(src: &str) -> Result<HeaderMap, httparse::Error> {
let mut headers = [httparse::EMPTY_HEADER; 1];
- let mut header = src.to_string();
- header.push('\n');
+ let header = format!("{}\n", src);
httparse::parse_headers(header.as_bytes(), &mut headers)?;
let mut header_map = HeaderMap::new();
if let Some(h) = headers.first() {
if h.name != httparse::EMPTY_HEADER.name {
header_map.insert(
- HeaderName::from_bytes(&Bytes::copy_from_slice(h.name.as_bytes())).unwrap(),
+ HeaderName::from_bytes(h.name.as_bytes()).unwrap(),
HeaderValue::from_bytes(h.value).unwrap(),
);
}
diff --git a/src/main.rs b/src/main.rs
index e5cc596..4ea1154 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -275,17 +275,10 @@ fn create_tcp_listener(addr: SocketAddr) -> io::Result<TcpListener> {
}
fn configure_header(conf: &MiniserveConfig) -> middleware::DefaultHeaders {
- let headers = conf.clone().header;
-
- let mut default_headers = middleware::DefaultHeaders::new();
- for header in headers {
- for (header_name, header_value) in header.into_iter() {
- if let Some(header_name) = header_name {
- default_headers = default_headers.header(&header_name, header_value);
- }
- }
- }
- default_headers
+ conf.header.iter().flatten().fold(
+ middleware::DefaultHeaders::new(),
+ |headers, (header_name, header_value)| headers.header(header_name, header_value),
+ )
}
/// Configures the Actix application