|
| 1 | +//! Http protocol support. |
| 2 | +// pub mod body; |
| 3 | +mod map; |
| 4 | + |
| 5 | +pub use self::map::HeaderMap; |
| 6 | +#[doc(hidden)] |
| 7 | +pub use self::map::Value; |
| 8 | + |
| 9 | +// re-exports |
| 10 | +pub use http::header::{HeaderName, HeaderValue}; |
| 11 | +pub use http::uri::{self, Uri}; |
| 12 | +pub use http::{Method, StatusCode, Version}; |
| 13 | + |
| 14 | +pub mod error { |
| 15 | + pub use http::header::{InvalidHeaderName, InvalidHeaderValue}; |
| 16 | + pub use http::method::InvalidMethod; |
| 17 | + pub use http::status::InvalidStatusCode; |
| 18 | +} |
| 19 | + |
| 20 | +/// Convert http::HeaderMap to a HeaderMap |
| 21 | +impl From<http::HeaderMap> for HeaderMap { |
| 22 | + fn from(map: http::HeaderMap) -> HeaderMap { |
| 23 | + let mut new_map = HeaderMap::with_capacity(map.capacity()); |
| 24 | + for (h, v) in map.iter() { |
| 25 | + new_map.append(h.clone(), v.clone()); |
| 26 | + } |
| 27 | + new_map |
| 28 | + } |
| 29 | +} |
| 30 | + |
| 31 | +pub mod header { |
| 32 | + //! Various http headers |
| 33 | +
|
| 34 | + #[doc(hidden)] |
| 35 | + pub use crate::map::{AsName, Either, GetAll, Iter, Value}; |
| 36 | + |
| 37 | + pub use http::header::{ |
| 38 | + HeaderName, HeaderValue, InvalidHeaderName, InvalidHeaderValue, |
| 39 | + }; |
| 40 | + pub use http::header::{ |
| 41 | + ACCEPT, ACCEPT_CHARSET, ACCEPT_ENCODING, ACCEPT_LANGUAGE, ACCEPT_RANGES, |
| 42 | + ACCESS_CONTROL_ALLOW_CREDENTIALS, ACCESS_CONTROL_ALLOW_HEADERS, |
| 43 | + ACCESS_CONTROL_ALLOW_METHODS, ACCESS_CONTROL_ALLOW_ORIGIN, |
| 44 | + ACCESS_CONTROL_EXPOSE_HEADERS, ACCESS_CONTROL_MAX_AGE, |
| 45 | + ACCESS_CONTROL_REQUEST_HEADERS, ACCESS_CONTROL_REQUEST_METHOD, AGE, ALLOW, ALT_SVC, |
| 46 | + AUTHORIZATION, CACHE_CONTROL, CONNECTION, CONTENT_DISPOSITION, CONTENT_ENCODING, |
| 47 | + CONTENT_LANGUAGE, CONTENT_LENGTH, CONTENT_LOCATION, CONTENT_RANGE, |
| 48 | + CONTENT_SECURITY_POLICY, CONTENT_SECURITY_POLICY_REPORT_ONLY, CONTENT_TYPE, COOKIE, |
| 49 | + DATE, DNT, ETAG, EXPECT, EXPIRES, FORWARDED, FROM, HOST, IF_MATCH, |
| 50 | + IF_MODIFIED_SINCE, IF_NONE_MATCH, IF_RANGE, IF_UNMODIFIED_SINCE, LAST_MODIFIED, |
| 51 | + LINK, LOCATION, MAX_FORWARDS, ORIGIN, PRAGMA, PROXY_AUTHENTICATE, |
| 52 | + PROXY_AUTHORIZATION, PUBLIC_KEY_PINS, PUBLIC_KEY_PINS_REPORT_ONLY, RANGE, REFERER, |
| 53 | + REFERRER_POLICY, REFRESH, RETRY_AFTER, SEC_WEBSOCKET_ACCEPT, |
| 54 | + SEC_WEBSOCKET_EXTENSIONS, SEC_WEBSOCKET_KEY, SEC_WEBSOCKET_PROTOCOL, |
| 55 | + SEC_WEBSOCKET_VERSION, SERVER, SET_COOKIE, STRICT_TRANSPORT_SECURITY, TE, TRAILER, |
| 56 | + TRANSFER_ENCODING, UPGRADE, UPGRADE_INSECURE_REQUESTS, USER_AGENT, VARY, VIA, |
| 57 | + WARNING, WWW_AUTHENTICATE, X_CONTENT_TYPE_OPTIONS, X_DNS_PREFETCH_CONTROL, |
| 58 | + X_FRAME_OPTIONS, X_XSS_PROTECTION, |
| 59 | + }; |
| 60 | +} |
0 commit comments