1 // Copyright (c) 2023 Huawei Device Co., Ltd. 2 // Licensed under the Apache License, Version 2.0 (the "License"); 3 // you may not use this file except in compliance with the License. 4 // You may obtain a copy of the License at 5 // 6 // http://www.apache.org/licenses/LICENSE-2.0 7 // 8 // Unless required by applicable law or agreed to in writing, software 9 // distributed under the License is distributed on an "AS IS" BASIS, 10 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 // See the License for the specific language governing permissions and 12 // limitations under the License. 13 14 mod client; 15 mod connector; 16 mod http; 17 mod settings; 18 19 pub(crate) use client::ClientConfig; 20 pub(crate) use connector::ConnectorConfig; 21 #[cfg(feature = "http2")] 22 pub(crate) use http::http2::H2Config; 23 pub(crate) use http::{HttpConfig, HttpVersion}; 24 pub use settings::{Proxy, ProxyBuilder, Redirect, Retry, SpeedLimit, Timeout}; 25 #[cfg(feature = "__c_openssl")] 26 pub(crate) mod tls; 27 #[cfg(feature = "__c_openssl")] 28 pub(crate) use tls::{AlpnProtocol, AlpnProtocolList}; 29 #[cfg(feature = "__c_openssl")] 30 pub use tls::{CertVerifier, ServerCerts}; 31 #[cfg(feature = "tls_rust_ssl")] 32 pub use tls::{Certificate, PrivateKey, TlsConfig, TlsConfigBuilder, TlsFileType, TlsVersion}; 33 #[cfg(all(target_os = "linux", feature = "ylong_base", feature = "__c_openssl"))] 34 mod fchown; 35 #[cfg(all(target_os = "linux", feature = "ylong_base", feature = "__c_openssl"))] 36 pub(crate) use fchown::FchownConfig; 37