| @@ -38,7 +38,7 @@ tokio-rustls = { version = "0.8", optional = true } | |||||||
| webpki-roots = { version = "0.15", optional = true } | webpki-roots = { version = "0.15", optional = true } | ||||||
| rustls = { version = "0.14", features = ["dangerous_configuration"], optional = true } | rustls = { version = "0.14", features = ["dangerous_configuration"], optional = true } | ||||||
|  |  | ||||||
| [target.'cfg(not(target_os = "android"))'.dependencies] | [target.'cfg(not(any(target_os = "android", windows)))'.dependencies] | ||||||
| trust-dns-resolver = "0.10" | trust-dns-resolver = "0.10" | ||||||
|  |  | ||||||
| [dev-dependencies] | [dev-dependencies] | ||||||
|   | |||||||
| @@ -13,13 +13,13 @@ use bytes::BufMut; | |||||||
| use std::io; | use std::io; | ||||||
| use std::sync::Arc; | use std::sync::Arc; | ||||||
|  |  | ||||||
| #[cfg(not(target_os = "android"))] | #[cfg(not(any(target_os = "android", windows)))] | ||||||
| use dns::TrustDnsResolver; | use dns::TrustDnsResolver; | ||||||
| use Proxy; | use Proxy; | ||||||
|  |  | ||||||
| #[cfg(not(target_os = "android"))] | #[cfg(not(any(target_os = "android", windows)))] | ||||||
| type HttpConnector = ::hyper::client::HttpConnector<TrustDnsResolver>; | type HttpConnector = ::hyper::client::HttpConnector<TrustDnsResolver>; | ||||||
| #[cfg(target_os = "android")] | #[cfg(any(target_os = "android", windows))] | ||||||
| type HttpConnector = ::hyper::client::HttpConnector; | type HttpConnector = ::hyper::client::HttpConnector; | ||||||
|  |  | ||||||
|  |  | ||||||
| @@ -74,14 +74,14 @@ impl Connector { | |||||||
|     } |     } | ||||||
| } | } | ||||||
|  |  | ||||||
| #[cfg(not(target_os = "android"))] | #[cfg(not(any(target_os = "android", windows)))] | ||||||
| fn http_connector() -> ::Result<HttpConnector> { | fn http_connector() -> ::Result<HttpConnector> { | ||||||
|     TrustDnsResolver::new() |     TrustDnsResolver::new() | ||||||
|         .map(HttpConnector::new_with_resolver) |         .map(HttpConnector::new_with_resolver) | ||||||
|         .map_err(::error::dns_system_conf) |         .map_err(::error::dns_system_conf) | ||||||
| } | } | ||||||
|  |  | ||||||
| #[cfg(target_os = "android")] | #[cfg(any(target_os = "android", windows))] | ||||||
| fn http_connector() -> ::Result<HttpConnector> { | fn http_connector() -> ::Result<HttpConnector> { | ||||||
|     Ok(HttpConnector::new(4)) |     Ok(HttpConnector::new(4)) | ||||||
| } | } | ||||||
|   | |||||||
| @@ -140,6 +140,7 @@ impl Error { | |||||||
|             Kind::NativeTls(ref e) => Some(e), |             Kind::NativeTls(ref e) => Some(e), | ||||||
|             #[cfg(feature = "rustls-tls")] |             #[cfg(feature = "rustls-tls")] | ||||||
|             Kind::Rustls(ref e) => Some(e), |             Kind::Rustls(ref e) => Some(e), | ||||||
|  |             #[cfg(not(any(target_os = "android", windows)))] | ||||||
|             Kind::DnsSystemConf(ref e) => Some(e), |             Kind::DnsSystemConf(ref e) => Some(e), | ||||||
|             Kind::Io(ref e) => Some(e), |             Kind::Io(ref e) => Some(e), | ||||||
|             Kind::UrlEncoded(ref e) => Some(e), |             Kind::UrlEncoded(ref e) => Some(e), | ||||||
| @@ -238,6 +239,7 @@ impl fmt::Display for Error { | |||||||
|             Kind::NativeTls(ref e) => fmt::Display::fmt(e, f), |             Kind::NativeTls(ref e) => fmt::Display::fmt(e, f), | ||||||
|             #[cfg(feature = "rustls-tls")] |             #[cfg(feature = "rustls-tls")] | ||||||
|             Kind::Rustls(ref e) => fmt::Display::fmt(e, f), |             Kind::Rustls(ref e) => fmt::Display::fmt(e, f), | ||||||
|  |             #[cfg(not(any(target_os = "android", windows)))] | ||||||
|             Kind::DnsSystemConf(ref e) => { |             Kind::DnsSystemConf(ref e) => { | ||||||
|                 write!(f, "failed to load DNS system conf: {}", e) |                 write!(f, "failed to load DNS system conf: {}", e) | ||||||
|             }, |             }, | ||||||
| @@ -272,6 +274,7 @@ impl StdError for Error { | |||||||
|             Kind::NativeTls(ref e) => e.description(), |             Kind::NativeTls(ref e) => e.description(), | ||||||
|             #[cfg(feature = "rustls-tls")] |             #[cfg(feature = "rustls-tls")] | ||||||
|             Kind::Rustls(ref e) => e.description(), |             Kind::Rustls(ref e) => e.description(), | ||||||
|  |             #[cfg(not(any(target_os = "android", windows)))] | ||||||
|             Kind::DnsSystemConf(_) => "failed to load DNS system conf", |             Kind::DnsSystemConf(_) => "failed to load DNS system conf", | ||||||
|             Kind::Io(ref e) => e.description(), |             Kind::Io(ref e) => e.description(), | ||||||
|             Kind::UrlEncoded(ref e) => e.description(), |             Kind::UrlEncoded(ref e) => e.description(), | ||||||
| @@ -296,6 +299,7 @@ impl StdError for Error { | |||||||
|             Kind::NativeTls(ref e) => e.cause(), |             Kind::NativeTls(ref e) => e.cause(), | ||||||
|             #[cfg(feature = "rustls-tls")] |             #[cfg(feature = "rustls-tls")] | ||||||
|             Kind::Rustls(ref e) => e.cause(), |             Kind::Rustls(ref e) => e.cause(), | ||||||
|  |             #[cfg(not(any(target_os = "android", windows)))] | ||||||
|             Kind::DnsSystemConf(ref e) => e.cause(), |             Kind::DnsSystemConf(ref e) => e.cause(), | ||||||
|             Kind::Io(ref e) => e.cause(), |             Kind::Io(ref e) => e.cause(), | ||||||
|             Kind::UrlEncoded(ref e) => e.cause(), |             Kind::UrlEncoded(ref e) => e.cause(), | ||||||
| @@ -322,6 +326,7 @@ pub(crate) enum Kind { | |||||||
|     NativeTls(::native_tls::Error), |     NativeTls(::native_tls::Error), | ||||||
|     #[cfg(feature = "rustls-tls")] |     #[cfg(feature = "rustls-tls")] | ||||||
|     Rustls(::rustls::TLSError), |     Rustls(::rustls::TLSError), | ||||||
|  |     #[cfg(not(any(target_os = "android", windows)))] | ||||||
|     DnsSystemConf(io::Error), |     DnsSystemConf(io::Error), | ||||||
|     Io(io::Error), |     Io(io::Error), | ||||||
|     UrlEncoded(::serde_urlencoded::ser::Error), |     UrlEncoded(::serde_urlencoded::ser::Error), | ||||||
| @@ -496,6 +501,7 @@ pub(crate) fn url_bad_scheme(url: Url) -> Error { | |||||||
|     Error::new(Kind::UrlBadScheme, Some(url)) |     Error::new(Kind::UrlBadScheme, Some(url)) | ||||||
| } | } | ||||||
|  |  | ||||||
|  | #[cfg(not(any(target_os = "android", windows)))] | ||||||
| pub(crate) fn dns_system_conf(io: io::Error) -> Error { | pub(crate) fn dns_system_conf(io: io::Error) -> Error { | ||||||
|     Error::new(Kind::DnsSystemConf(io), None) |     Error::new(Kind::DnsSystemConf(io), None) | ||||||
| } | } | ||||||
|   | |||||||
| @@ -196,7 +196,7 @@ extern crate serde_urlencoded; | |||||||
| extern crate tokio; | extern crate tokio; | ||||||
| #[cfg_attr(feature = "default-tls", macro_use)] | #[cfg_attr(feature = "default-tls", macro_use)] | ||||||
| extern crate tokio_io; | extern crate tokio_io; | ||||||
| #[cfg(not(target_os = "android"))] | #[cfg(not(any(target_os = "android", windows)))] | ||||||
| extern crate trust_dns_resolver; | extern crate trust_dns_resolver; | ||||||
| extern crate url; | extern crate url; | ||||||
| extern crate uuid; | extern crate uuid; | ||||||
| @@ -238,7 +238,7 @@ mod connect; | |||||||
| mod connect_async; | mod connect_async; | ||||||
| mod body; | mod body; | ||||||
| mod client; | mod client; | ||||||
| #[cfg(not(target_os = "android"))] | #[cfg(not(any(target_os = "android", windows)))] | ||||||
| mod dns; | mod dns; | ||||||
| mod into_url; | mod into_url; | ||||||
| mod proxy; | mod proxy; | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user