1mod auth;
2mod body;
3mod context;
4mod cookie;
5mod error;
6mod event;
7mod interceptor;
8mod policy;
9mod runtime;
10mod transport;
11
12#[cfg(feature = "websocket")]
13pub mod websocket;
14
15use std::future::Future;
16use std::pin::Pin;
17
18pub use auth::{AuthChallenge, AuthChallengeParam, AuthContext, AuthKind, Authenticator};
19pub use body::{RequestBody, ResponseBody};
20pub use context::{next_connection_id, CallContext, CallId, ConnectionId};
21pub use cookie::CookieJar;
22pub use error::{
23 BoxError, EstablishmentStage, FailurePhase, WireError, WireErrorDiagnostics, WireErrorKind,
24};
25pub use event::{
26 EventListener, EventListenerFactory, NoopEventListener, NoopEventListenerFactory,
27 SharedEventListener, SharedEventListenerFactory,
28};
29pub use interceptor::{
30 BoxWireService, Exchange, Interceptor, InterceptorLayer, Next, SharedInterceptor, WireResponse,
31};
32pub use policy::{
33 RedirectContext, RedirectDecision, RedirectPolicy, ResponseRetryContext, RetryAfter,
34 RetryContext, RetryPolicy,
35};
36pub use runtime::{BoxTaskHandle, HyperExecutor, SharedTimer, TaskHandle, WireExecutor};
37pub use transport::{
38 BoxConnection, BoxDnsService, BoxTcpService, BoxTlsService, CoalescingInfo, Connected,
39 Connection, ConnectionInfo, ConnectionIo, DnsRequest, DnsResolver, DnsResolverService,
40 TcpConnectRequest, TcpConnector, TcpConnectorService, TlsAlpnPreference, TlsConnectRequest,
41 TlsConnector, TlsConnectorService, TowerDnsResolver, TowerTcpConnector, TowerTlsConnector,
42};
43
44pub type BoxFuture<T> = Pin<Box<dyn Future<Output = T> + Send + 'static>>;