1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
//! # hyper-rustls //! //! A pure-Rust HTTPS connector for [hyper](https://hyper.rs), based on [Rustls](https://github.com/ctz/rustls). //! //! ## Example //! //! ```no_run //! # #[cfg(all(any(feature = "rustls-native-certs", feature = "webpki-roots"), feature = "tokio-runtime"))] //! # fn main() { //! use hyper::{Body, Client, StatusCode, Uri}; //! //! let mut rt = tokio::runtime::Runtime::new().unwrap(); //! let url = ("https://hyper.rs").parse().unwrap(); //! let https = hyper_rustls::HttpsConnector::new(); //! //! let client: Client<_, hyper::Body> = Client::builder().build(https); //! //! let res = rt.block_on(client.get(url)).unwrap(); //! assert_eq!(res.status(), StatusCode::OK); //! # } //! # #[cfg(not(feature = "tokio-runtime"))] //! # fn main() {} //! ``` #[cfg(all( feature = "tokio-runtime", any(not(feature = "rustls-native-certs"), feature = "webpki-roots"), any(not(feature = "webpki-roots"), feature = "rustls-native-certs") ))] compile_error!( "Must enable exactly one of rustls-native-certs (default) or webpki-roots with tokio-runtime! (note: use `default-features = false' in a binary crate for one or other)" ); mod connector; mod stream; pub use crate::connector::HttpsConnector; pub use crate::stream::MaybeHttpsStream;