mod address;
pub use self::address::{Address, NONE_ADDRESS};
mod auth;
pub use self::auth::{Auth, NONE_AUTH};
mod auth_basic;
pub use self::auth_basic::{AuthBasic};
mod auth_digest;
pub use self::auth_digest::{AuthDigest};
mod auth_domain;
pub use self::auth_domain::{AuthDomain, NONE_AUTH_DOMAIN};
mod auth_domain_basic;
pub use self::auth_domain_basic::{AuthDomainBasic, NONE_AUTH_DOMAIN_BASIC};
mod auth_domain_digest;
pub use self::auth_domain_digest::{AuthDomainDigest, NONE_AUTH_DOMAIN_DIGEST};
mod auth_manager;
pub use self::auth_manager::{AuthManager, NONE_AUTH_MANAGER};
mod auth_ntlm;
pub use self::auth_ntlm::{AuthNTLM};
mod auth_negotiate;
pub use self::auth_negotiate::{AuthNegotiate};
mod cache;
pub use self::cache::{Cache, NONE_CACHE};
mod content_decoder;
pub use self::content_decoder::{ContentDecoder, NONE_CONTENT_DECODER};
mod content_sniffer;
pub use self::content_sniffer::{ContentSniffer, NONE_CONTENT_SNIFFER};
mod cookie_jar;
pub use self::cookie_jar::{CookieJar, NONE_COOKIE_JAR};
mod cookie_jar_db;
pub use self::cookie_jar_db::{CookieJarDB, NONE_COOKIE_JAR_DB};
mod cookie_jar_text;
pub use self::cookie_jar_text::{CookieJarText, NONE_COOKIE_JAR_TEXT};
#[cfg(any(feature = "v2_68", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v2_68")))]
mod hsts_enforcer;
#[cfg(any(feature = "v2_68", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v2_68")))]
pub use self::hsts_enforcer::{HSTSEnforcer, NONE_HSTS_ENFORCER};
#[cfg(any(feature = "v2_68", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v2_68")))]
mod hsts_enforcer_db;
#[cfg(any(feature = "v2_68", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v2_68")))]
pub use self::hsts_enforcer_db::{HSTSEnforcerDB, NONE_HSTS_ENFORCER_DB};
mod logger;
pub use self::logger::{Logger, NONE_LOGGER};
mod message;
pub use self::message::{Message, NONE_MESSAGE};
mod multipart_input_stream;
pub use self::multipart_input_stream::{MultipartInputStream, NONE_MULTIPART_INPUT_STREAM};
mod proxy_resolver_default;
pub use self::proxy_resolver_default::{ProxyResolverDefault, NONE_PROXY_RESOLVER_DEFAULT};
#[cfg(any(feature = "v2_42", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v2_42")))]
mod request;
#[cfg(any(feature = "v2_42", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v2_42")))]
pub use self::request::{Request, NONE_REQUEST};
mod request_data;
pub use self::request_data::{RequestData, NONE_REQUEST_DATA};
mod request_file;
pub use self::request_file::{RequestFile, NONE_REQUEST_FILE};
#[cfg(any(feature = "v2_42", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v2_42")))]
mod request_http;
#[cfg(any(feature = "v2_42", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v2_42")))]
pub use self::request_http::{RequestHTTP, NONE_REQUEST_HTTP};
mod requester;
pub use self::requester::{Requester, NONE_REQUESTER};
mod server;
pub use self::server::{Server, NONE_SERVER};
mod session;
pub use self::session::{Session, NONE_SESSION};
mod session_async;
pub use self::session_async::{SessionAsync, NONE_SESSION_ASYNC};
#[cfg(any(feature = "v2_24", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v2_24")))]
mod session_feature;
#[cfg(any(feature = "v2_24", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v2_24")))]
pub use self::session_feature::{SessionFeature, NONE_SESSION_FEATURE};
mod session_sync;
pub use self::session_sync::{SessionSync, NONE_SESSION_SYNC};
mod socket;
pub use self::socket::{Socket, NONE_SOCKET};
#[cfg(any(feature = "v2_50", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v2_50")))]
mod websocket_connection;
#[cfg(any(feature = "v2_50", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v2_50")))]
pub use self::websocket_connection::{WebsocketConnection, NONE_WEBSOCKET_CONNECTION};
mod websocket_extension;
pub use self::websocket_extension::{WebsocketExtension, NONE_WEBSOCKET_EXTENSION};
#[cfg(any(feature = "v2_68", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v2_68")))]
mod websocket_extension_deflate;
#[cfg(any(feature = "v2_68", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v2_68")))]
pub use self::websocket_extension_deflate::{WebsocketExtensionDeflate, NONE_WEBSOCKET_EXTENSION_DEFLATE};
mod websocket_extension_manager;
pub use self::websocket_extension_manager::{WebsocketExtensionManager, NONE_WEBSOCKET_EXTENSION_MANAGER};
mod buffer;
pub use self::buffer::Buffer;
mod client_context;
pub use self::client_context::ClientContext;
#[cfg(any(feature = "v2_24", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v2_24")))]
mod cookie;
#[cfg(any(feature = "v2_24", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v2_24")))]
pub use self::cookie::Cookie;
mod date;
pub use self::date::Date;
#[cfg(any(feature = "v2_68", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v2_68")))]
mod hsts_policy;
#[cfg(any(feature = "v2_68", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v2_68")))]
pub use self::hsts_policy::HSTSPolicy;
mod message_body;
pub use self::message_body::MessageBody;
mod message_headers;
pub use self::message_headers::MessageHeaders;
#[cfg(any(feature = "v2_26", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v2_26")))]
mod multipart;
#[cfg(any(feature = "v2_26", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v2_26")))]
pub use self::multipart::Multipart;
mod uri;
pub use self::uri::URI;
mod enums;
pub use self::enums::AddressFamily;
pub use self::enums::CacheResponse;
#[cfg(any(feature = "v2_34", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v2_34")))]
pub use self::enums::CacheType;
pub use self::enums::ConnectionState;
#[cfg(any(feature = "v2_30", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v2_30")))]
pub use self::enums::CookieJarAcceptPolicy;
pub use self::enums::DateFormat;
pub use self::enums::Encoding;
pub use self::enums::HTTPVersion;
pub use self::enums::KnownStatusCode;
pub use self::enums::LoggerLogLevel;
pub use self::enums::MemoryUse;
pub use self::enums::MessageHeadersType;
pub use self::enums::MessagePriority;
#[cfg(any(feature = "v2_42", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v2_42")))]
pub use self::enums::RequestError;
pub use self::enums::RequesterError;
#[cfg(any(feature = "v2_70", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v2_70")))]
pub use self::enums::SameSitePolicy;
pub use self::enums::SocketIOStatus;
pub use self::enums::Status;
#[cfg(any(feature = "v2_40", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v2_40")))]
pub use self::enums::TLDError;
#[cfg(any(feature = "v2_50", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v2_50")))]
pub use self::enums::WebsocketCloseCode;
#[cfg(any(feature = "v2_50", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v2_50")))]
pub use self::enums::WebsocketConnectionType;
#[cfg(any(feature = "v2_50", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v2_50")))]
pub use self::enums::WebsocketDataType;
#[cfg(any(feature = "v2_50", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v2_50")))]
pub use self::enums::WebsocketError;
#[cfg(any(feature = "v2_50", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v2_50")))]
pub use self::enums::WebsocketState;
pub use self::enums::XMLRPCError;
pub use self::enums::XMLRPCFault;
mod flags;
pub use self::flags::Cacheability;
pub use self::flags::Expectation;
pub use self::flags::MessageFlags;
#[cfg(any(feature = "v2_48", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v2_48")))]
pub use self::flags::ServerListenOptions;
pub mod functions;
mod constants;
pub use self::constants::ADDRESS_FAMILY;
pub use self::constants::ADDRESS_NAME;
pub use self::constants::ADDRESS_PHYSICAL;
pub use self::constants::ADDRESS_PORT;
pub use self::constants::ADDRESS_PROTOCOL;
pub use self::constants::ADDRESS_SOCKADDR;
pub use self::constants::AUTH_DOMAIN_ADD_PATH;
pub use self::constants::AUTH_DOMAIN_BASIC_AUTH_CALLBACK;
pub use self::constants::AUTH_DOMAIN_BASIC_AUTH_DATA;
pub use self::constants::AUTH_DOMAIN_DIGEST_AUTH_CALLBACK;
pub use self::constants::AUTH_DOMAIN_DIGEST_AUTH_DATA;
pub use self::constants::AUTH_DOMAIN_FILTER;
pub use self::constants::AUTH_DOMAIN_FILTER_DATA;
pub use self::constants::AUTH_DOMAIN_GENERIC_AUTH_CALLBACK;
pub use self::constants::AUTH_DOMAIN_GENERIC_AUTH_DATA;
pub use self::constants::AUTH_DOMAIN_PROXY;
pub use self::constants::AUTH_DOMAIN_REALM;
pub use self::constants::AUTH_DOMAIN_REMOVE_PATH;
pub use self::constants::AUTH_HOST;
pub use self::constants::AUTH_IS_AUTHENTICATED;
pub use self::constants::AUTH_IS_FOR_PROXY;
pub use self::constants::AUTH_REALM;
pub use self::constants::AUTH_SCHEME_NAME;
#[cfg(any(feature = "v2_30", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v2_30")))]
pub use self::constants::COOKIE_JAR_ACCEPT_POLICY;
pub use self::constants::COOKIE_JAR_DB_FILENAME;
pub use self::constants::COOKIE_JAR_READ_ONLY;
pub use self::constants::COOKIE_JAR_TEXT_FILENAME;
#[cfg(any(feature = "v2_26", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v2_26")))]
pub use self::constants::FORM_MIME_TYPE_MULTIPART;
#[cfg(any(feature = "v2_26", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v2_26")))]
pub use self::constants::FORM_MIME_TYPE_URLENCODED;
pub use self::constants::HSTS_ENFORCER_DB_FILENAME;
#[cfg(any(feature = "v2_56", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v2_56")))]
pub use self::constants::LOGGER_LEVEL;
#[cfg(any(feature = "v2_56", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v2_56")))]
pub use self::constants::LOGGER_MAX_BODY_SIZE;
#[cfg(any(feature = "v2_30", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v2_30")))]
pub use self::constants::MESSAGE_FIRST_PARTY;
pub use self::constants::MESSAGE_FLAGS;
pub use self::constants::MESSAGE_HTTP_VERSION;
pub use self::constants::MESSAGE_IS_TOP_LEVEL_NAVIGATION;
pub use self::constants::MESSAGE_METHOD;
#[cfg(any(feature = "v2_44", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v2_44")))]
pub use self::constants::MESSAGE_PRIORITY;
pub use self::constants::MESSAGE_REASON_PHRASE;
pub use self::constants::MESSAGE_REQUEST_BODY;
#[cfg(any(feature = "v2_46", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v2_46")))]
pub use self::constants::MESSAGE_REQUEST_BODY_DATA;
pub use self::constants::MESSAGE_REQUEST_HEADERS;
pub use self::constants::MESSAGE_RESPONSE_BODY;
#[cfg(any(feature = "v2_46", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v2_46")))]
pub use self::constants::MESSAGE_RESPONSE_BODY_DATA;
pub use self::constants::MESSAGE_RESPONSE_HEADERS;
pub use self::constants::MESSAGE_SERVER_SIDE;
pub use self::constants::MESSAGE_SITE_FOR_COOKIES;
pub use self::constants::MESSAGE_STATUS_CODE;
#[cfg(any(feature = "v2_34", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v2_34")))]
pub use self::constants::MESSAGE_TLS_CERTIFICATE;
#[cfg(any(feature = "v2_34", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v2_34")))]
pub use self::constants::MESSAGE_TLS_ERRORS;
pub use self::constants::MESSAGE_URI;
#[cfg(any(feature = "v2_42", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v2_42")))]
pub use self::constants::REQUEST_SESSION;
#[cfg(any(feature = "v2_42", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v2_42")))]
pub use self::constants::REQUEST_URI;
#[cfg(any(feature = "v2_68", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v2_68")))]
pub use self::constants::SERVER_ADD_WEBSOCKET_EXTENSION;
pub use self::constants::SERVER_ASYNC_CONTEXT;
#[cfg(any(feature = "v2_44", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v2_44")))]
pub use self::constants::SERVER_HTTPS_ALIASES;
#[cfg(any(feature = "v2_44", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v2_44")))]
pub use self::constants::SERVER_HTTP_ALIASES;
pub use self::constants::SERVER_INTERFACE;
pub use self::constants::SERVER_PORT;
pub use self::constants::SERVER_RAW_PATHS;
#[cfg(any(feature = "v2_68", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v2_68")))]
pub use self::constants::SERVER_REMOVE_WEBSOCKET_EXTENSION;
pub use self::constants::SERVER_SERVER_HEADER;
pub use self::constants::SERVER_SSL_CERT_FILE;
pub use self::constants::SERVER_SSL_KEY_FILE;
#[cfg(any(feature = "v2_38", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v2_38")))]
pub use self::constants::SERVER_TLS_CERTIFICATE;
#[cfg(any(feature = "v2_30", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v2_30")))]
pub use self::constants::SESSION_ACCEPT_LANGUAGE;
#[cfg(any(feature = "v2_30", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v2_30")))]
pub use self::constants::SESSION_ACCEPT_LANGUAGE_AUTO;
#[cfg(any(feature = "v2_24", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v2_24")))]
pub use self::constants::SESSION_ADD_FEATURE;
#[cfg(any(feature = "v2_24", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v2_24")))]
pub use self::constants::SESSION_ADD_FEATURE_BY_TYPE;
pub use self::constants::SESSION_ASYNC_CONTEXT;
#[cfg(any(feature = "v2_38", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v2_38")))]
pub use self::constants::SESSION_HTTPS_ALIASES;
#[cfg(any(feature = "v2_38", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v2_38")))]
pub use self::constants::SESSION_HTTP_ALIASES;
#[cfg(any(feature = "v2_24", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v2_24")))]
pub use self::constants::SESSION_IDLE_TIMEOUT;
#[cfg(any(feature = "v2_42", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v2_42")))]
pub use self::constants::SESSION_LOCAL_ADDRESS;
pub use self::constants::SESSION_MAX_CONNS;
pub use self::constants::SESSION_MAX_CONNS_PER_HOST;
pub use self::constants::SESSION_PROXY_RESOLVER;
pub use self::constants::SESSION_PROXY_URI;
#[cfg(any(feature = "v2_24", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v2_24")))]
pub use self::constants::SESSION_REMOVE_FEATURE_BY_TYPE;
pub use self::constants::SESSION_SSL_CA_FILE;
#[cfg(any(feature = "v2_30", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v2_30")))]
pub use self::constants::SESSION_SSL_STRICT;
#[cfg(any(feature = "v2_38", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v2_38")))]
pub use self::constants::SESSION_SSL_USE_SYSTEM_CA_FILE;
pub use self::constants::SESSION_TIMEOUT;
#[cfg(any(feature = "v2_38", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v2_38")))]
pub use self::constants::SESSION_TLS_DATABASE;
#[cfg(any(feature = "v2_48", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v2_48")))]
pub use self::constants::SESSION_TLS_INTERACTION;
pub use self::constants::SESSION_USER_AGENT;
pub use self::constants::SESSION_USE_NTLM;
#[cfg(any(feature = "v2_38", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v2_38")))]
pub use self::constants::SESSION_USE_THREAD_CONTEXT;
pub use self::constants::SOCKET_ASYNC_CONTEXT;
pub use self::constants::SOCKET_FLAG_NONBLOCKING;
pub use self::constants::SOCKET_IS_SERVER;
pub use self::constants::SOCKET_LOCAL_ADDRESS;
pub use self::constants::SOCKET_REMOTE_ADDRESS;
pub use self::constants::SOCKET_SSL_CREDENTIALS;
pub use self::constants::SOCKET_SSL_FALLBACK;
pub use self::constants::SOCKET_SSL_STRICT;
pub use self::constants::SOCKET_TIMEOUT;
#[cfg(any(feature = "v2_34", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v2_34")))]
pub use self::constants::SOCKET_TLS_CERTIFICATE;
#[cfg(any(feature = "v2_34", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v2_34")))]
pub use self::constants::SOCKET_TLS_ERRORS;
pub use self::constants::SOCKET_TRUSTED_CERTIFICATE;
#[cfg(any(feature = "v2_38", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v2_38")))]
pub use self::constants::SOCKET_USE_THREAD_CONTEXT;
#[doc(hidden)]
pub mod traits {
pub use super::address::AddressExt;
pub use super::auth::AuthExt;
pub use super::auth_domain::AuthDomainExt;
pub use super::auth_domain_basic::AuthDomainBasicExt;
pub use super::auth_domain_digest::AuthDomainDigestExt;
pub use super::auth_manager::AuthManagerExt;
pub use super::cache::CacheExt;
pub use super::content_sniffer::ContentSnifferExt;
pub use super::cookie_jar::CookieJarExt;
pub use super::cookie_jar_db::CookieJarDBExt;
pub use super::cookie_jar_text::CookieJarTextExt;
#[cfg(any(feature = "v2_68", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v2_68")))]
pub use super::hsts_enforcer::HSTSEnforcerExt;
#[cfg(any(feature = "v2_68", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v2_68")))]
pub use super::hsts_enforcer_db::HSTSEnforcerDBExt;
pub use super::logger::LoggerExt;
pub use super::message::MessageExt;
pub use super::multipart_input_stream::MultipartInputStreamExt;
pub use super::proxy_resolver_default::ProxyResolverDefaultExt;
#[cfg(any(feature = "v2_42", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v2_42")))]
pub use super::request::RequestExt;
pub use super::request_file::RequestFileExt;
#[cfg(any(feature = "v2_42", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v2_42")))]
pub use super::request_http::RequestHTTPExt;
pub use super::requester::RequesterExt;
pub use super::server::ServerExt;
pub use super::session::SessionExt;
#[cfg(any(feature = "v2_24", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v2_24")))]
pub use super::session_feature::SessionFeatureExt;
pub use super::socket::SocketExt;
#[cfg(any(feature = "v2_50", feature = "dox"))]
#[cfg_attr(feature = "dox", doc(cfg(feature = "v2_50")))]
pub use super::websocket_connection::WebsocketConnectionExt;
pub use super::websocket_extension::WebsocketExtensionExt;
}