// 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 { pub fn new(name: N, value: V) -> Self where N: Into + ?Sized, V: Into + ?Sized, { Self { name: name.into(), value: value.into(), } } #[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 } }