#![cfg_attr(docsrs, feature(doc_auto_cfg, doc_cfg))]
#![doc = include_utils::include_md!("README.md:description")]
use tower::Layer;
#[doc(inline)]
pub use crate::error::Error;
mod adapters;
pub mod error;
pub type Result<T, E = crate::Error> = std::result::Result<T, E>;
#[derive(Debug, Clone)]
pub struct HttpClientService<S>(S);
impl<S> HttpClientService<S> {
pub const fn new(inner: S) -> Self {
Self(inner)
}
}
#[doc = include_utils::include_md!("README.md:description")]
#[derive(Debug, Clone, Copy)]
pub struct HttpClientLayer;
impl<S> Layer<S> for HttpClientLayer {
type Service = HttpClientService<S>;
fn layer(&self, service: S) -> Self::Service {
HttpClientService(service)
}
}