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::{RedirectContext, RedirectDecision, RedirectPolicy, RetryContext, RetryPolicy};
33pub use runtime::{BoxTaskHandle, HyperExecutor, SharedTimer, TaskHandle, WireExecutor};
34pub use transport::{
35 BoxConnection, BoxDnsService, BoxTcpService, BoxTlsService, CoalescingInfo, Connected,
36 Connection, ConnectionInfo, ConnectionIo, DnsRequest, DnsResolver, DnsResolverService,
37 TcpConnectRequest, TcpConnector, TcpConnectorService, TlsAlpnPreference, TlsConnectRequest,
38 TlsConnector, TlsConnectorService, TowerDnsResolver, TowerTcpConnector, TowerTlsConnector,
39};
40
41pub type BoxFuture<T> = Pin<Box<dyn Future<Output = T> + Send + 'static>>;