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