#![cfg_attr(coverage_nightly, feature(coverage_attribute))]
#![warn(warnings)]
mod builder;
mod client;
mod config;
mod error;
mod layers;
pub mod otel;
mod request;
mod response;
pub mod security;
mod tls;
pub use builder::HttpClientBuilder;
pub use client::HttpClient;
pub use config::{
DEFAULT_USER_AGENT, ExponentialBackoff, HttpClientConfig, IDEMPOTENCY_KEY_HEADER,
RateLimitConfig, RedirectConfig, RetryConfig, RetryTrigger, TlsRootConfig, TransportSecurity,
is_idempotent_method,
};
pub use error::{HttpError, InvalidUriKind};
#[cfg(feature = "otel")]
pub use layers::{ClassifyFn, MetricsLayer, MetricsService, default_classify};
pub use layers::{
OtelLayer, OtelService, RETRY_ATTEMPT_HEADER, RetryLayer, RetryService, SecureRedirectPolicy,
UserAgentLayer, UserAgentService,
};
pub use request::{RequestBuilder, RequestType};
pub use response::{HttpResponse, LimitedBody, ResponseBody};
pub use tls::TlsConfigError;