1 #![doc(html_root_url = "https://docs.rs/hyper/0.13.7")]
2 #![deny(missing_docs)]
3 #![deny(missing_debug_implementations)]
4 #![cfg_attr(test, deny(rust_2018_idioms))]
5 #![cfg_attr(test, deny(warnings))]
6 #![cfg_attr(all(test, feature = "nightly"), feature(test))]
7 
8 //! # hyper
9 //!
10 //! hyper is a **fast** and **correct** HTTP implementation written in and for Rust.
11 //!
12 //! ## Features
13 //!
14 //! - HTTP/1 and HTTP/2
15 //! - Asynchronous design
16 //! - Leading in performance
17 //! - Tested and **correct**
18 //! - Extensive production use
19 //! - [Client](client/index.html) and [Server](server/index.html) APIs
20 //!
21 //! If just starting out, **check out the [Guides](https://hyper.rs/guides)
22 //! first.**
23 //!
24 //! ## "Low-level"
25 //!
26 //! hyper is a lower-level HTTP library, meant to be a building block
27 //! for libraries and applications.
28 //!
29 //! If looking for just a convenient HTTP client, consider the
30 //! [reqwest](https://crates.io/crates/reqwest) crate.
31 //!
32 //! # Optional Features
33 //!
34 //! The following optional features are available:
35 //!
36 //! - `runtime` (*enabled by default*): Enables convenient integration with
37 //!   `tokio`, providing connectors and acceptors for TCP, and a default
38 //!   executor.
39 //! - `tcp` (*enabled by default*): Enables convenient implementations over
40 //!   TCP (using tokio).
41 //! - `stream` (*enabled by default*): Provides `futures::Stream` capabilities.
42 
43 #[doc(hidden)]
44 pub use http;
45 #[macro_use]
46 extern crate tracing;
47 
48 #[cfg(all(test, feature = "nightly"))]
49 extern crate test;
50 
51 pub use http::{header, HeaderMap, Method, Request, Response, StatusCode, Uri, Version};
52 
53 pub use crate::body::Body;
54 pub use crate::client::Client;
55 pub use crate::error::{Error, Result};
56 pub use crate::server::Server;
57 
58 #[macro_use]
59 mod common;
60 pub mod body;
61 pub mod client;
62 #[doc(hidden)] // Mistakenly public...
63 pub mod error;
64 mod headers;
65 #[cfg(test)]
66 mod mock;
67 mod proto;
68 pub mod rt;
69 pub mod server;
70 pub mod service;
71 pub mod upgrade;
72