• Home
  • Raw
  • Download

Lines Matching full:header

5 use http::header::{HeaderName, HeaderValue};
9 /// HTTP/2 Header
11 pub enum Header<T = HeaderName> { enum
22 /// The header field name
43 impl Header<Option<HeaderName>> { impl
44 pub fn reify(self) -> Result<Header, HeaderValue> { in reify() argument
45 use self::Header::*; in reify()
63 impl Header { impl
64 pub fn new(name: Bytes, value: Bytes) -> Result<Header, DecoderError> { in new() argument
72 Ok(Header::Authority(value)) in new()
76 Ok(Header::Method(method)) in new()
80 Ok(Header::Scheme(value)) in new()
84 Ok(Header::Path(value)) in new()
88 Ok(Header::Protocol(value)) in new()
92 Ok(Header::Status(status)) in new()
97 // HTTP/2 requires lower case header names in new()
101 Ok(Header::Field { name, value }) in new()
107 Header::Field { in len()
111 Header::Authority(ref v) => 32 + 10 + v.len(), in len()
112 Header::Method(ref v) => 32 + 7 + v.as_ref().len(), in len()
113 Header::Scheme(ref v) => 32 + 7 + v.len(), in len()
114 Header::Path(ref v) => 32 + 5 + v.len(), in len()
115 Header::Protocol(ref v) => 32 + 9 + v.as_str().len(), in len()
116 Header::Status(_) => 32 + 7 + 3, in len()
120 /// Returns the header name
123 Header::Field { ref name, .. } => Name::Field(name), in name()
124 Header::Authority(..) => Name::Authority, in name()
125 Header::Method(..) => Name::Method, in name()
126 Header::Scheme(..) => Name::Scheme, in name()
127 Header::Path(..) => Name::Path, in name()
128 Header::Protocol(..) => Name::Protocol, in name()
129 Header::Status(..) => Name::Status, in name()
135 Header::Field { ref value, .. } => value.as_ref(), in value_slice()
136 Header::Authority(ref v) => v.as_ref(), in value_slice()
137 Header::Method(ref v) => v.as_ref().as_ref(), in value_slice()
138 Header::Scheme(ref v) => v.as_ref(), in value_slice()
139 Header::Path(ref v) => v.as_ref(), in value_slice()
140 Header::Protocol(ref v) => v.as_ref(), in value_slice()
141 Header::Status(ref v) => v.as_str().as_ref(), in value_slice()
145 pub fn value_eq(&self, other: &Header) -> bool { in value_eq()
147 Header::Field { ref value, .. } => { in value_eq()
150 Header::Field { ref value, .. } => a == value, in value_eq()
154 Header::Authority(ref a) => match *other { in value_eq()
155 Header::Authority(ref b) => a == b, in value_eq()
158 Header::Method(ref a) => match *other { in value_eq()
159 Header::Method(ref b) => a == b, in value_eq()
162 Header::Scheme(ref a) => match *other { in value_eq()
163 Header::Scheme(ref b) => a == b, in value_eq()
166 Header::Path(ref a) => match *other { in value_eq()
167 Header::Path(ref b) => a == b, in value_eq()
170 Header::Protocol(ref a) => match *other { in value_eq()
171 Header::Protocol(ref b) => a == b, in value_eq()
174 Header::Status(ref a) => match *other { in value_eq()
175 Header::Status(ref b) => a == b, in value_eq()
183 Header::Field { ref value, .. } => value.is_sensitive(), in is_sensitive()
184 // TODO: Technically these other header values can be sensitive too. in is_sensitive()
190 use http::header; in skip_value_index()
193 Header::Field { ref name, .. } => matches!( in skip_value_index()
195 header::AGE in skip_value_index()
196 | header::AUTHORIZATION in skip_value_index()
197 | header::CONTENT_LENGTH in skip_value_index()
198 | header::ETAG in skip_value_index()
199 | header::IF_MODIFIED_SINCE in skip_value_index()
200 | header::IF_NONE_MATCH in skip_value_index()
201 | header::LOCATION in skip_value_index()
202 | header::COOKIE in skip_value_index()
203 | header::SET_COOKIE in skip_value_index()
205 Header::Path(..) => true, in skip_value_index()
212 impl From<Header> for Header<Option<HeaderName>> { implementation
213 fn from(src: Header) -> Self { in from()
215 Header::Field { name, value } => Header::Field { in from()
219 Header::Authority(v) => Header::Authority(v), in from()
220 Header::Method(v) => Header::Method(v), in from()
221 Header::Scheme(v) => Header::Scheme(v), in from()
222 Header::Path(v) => Header::Path(v), in from()
223 Header::Protocol(v) => Header::Protocol(v), in from()
224 Header::Status(v) => Header::Status(v), in from()
230 pub fn into_entry(self, value: Bytes) -> Result<Header, DecoderError> { in into_entry() argument
232 Name::Field(name) => Ok(Header::Field { in into_entry()
236 Name::Authority => Ok(Header::Authority(BytesStr::try_from(value)?)), in into_entry()
237 Name::Method => Ok(Header::Method(Method::from_bytes(&value)?)), in into_entry()
238 Name::Scheme => Ok(Header::Scheme(BytesStr::try_from(value)?)), in into_entry()
239 Name::Path => Ok(Header::Path(BytesStr::try_from(value)?)), in into_entry()
240 Name::Protocol => Ok(Header::Protocol(Protocol::try_from(value)?)), in into_entry()
243 Ok(status) => Ok(Header::Status(status)), in into_entry()