// Licensed under the Apache License, Version 2.0 or the MIT license // , at your // option. This file may not be copied, modified, or distributed // except according to those terms. #[derive(Debug, PartialEq, PartialOrd, Eq, Ord, Clone)] pub struct Header { name: String, value: String, } impl Header { #[allow(clippy::needless_pass_by_value)] pub fn new(name: impl ToString, value: impl ToString) -> Self { Self { name: name.to_string(), value: value.to_string(), } } #[must_use] pub fn is_allowed_for_response(&self) -> bool { !matches!( self.name.as_str(), "connection" | "host" | "keep-alive" | "proxy-connection" | "te" | "transfer-encoding" | "upgrade" ) } #[must_use] pub fn name(&self) -> &str { &self.name } #[must_use] pub fn value(&self) -> &str { &self.value } }