#![no_std]
#![warn(missing_docs)]
#![warn(clippy::unwrap_used)]
#![warn(clippy::expect_used)]
#![warn(clippy::panic)]
#![warn(clippy::todo)]
#![warn(clippy::unimplemented)]
extern crate alloc;
#[cfg(any(feature = "std_base", feature = "std_reqwest", feature = "std_hyper"))]
extern crate std;
#[cfg(all(feature = "request_std", feature = "std_hyper"))]
mod encode;
#[cfg(any(feature = "method", feature = "method_std"))]
mod method;
#[cfg(any(feature = "request", feature = "request_std"))]
mod protocol;
#[cfg(any(feature = "request", feature = "request_std"))]
mod policy;
#[cfg(any(feature = "request", feature = "request_std"))]
mod error;
#[cfg(any(feature = "request", feature = "request_std"))]
mod body;
#[cfg(any(feature = "request", feature = "request_std"))]
mod request;
#[cfg(any(feature = "response", feature = "response_std"))]
mod response;
#[cfg(any(feature = "request", feature = "request_std"))]
mod requester;
#[cfg(any(feature = "request", feature = "request_std"))]
mod client;
#[cfg(any(feature = "method", feature = "method_std"))]
pub use method::{HttpMethod, Method};
#[cfg(any(feature = "request", feature = "request_std"))]
pub use protocol::{Protocol, Proxy};
#[cfg(any(feature = "request", feature = "request_std"))]
pub use policy::RedirectPolicy;
#[cfg(any(feature = "request", feature = "request_std"))]
pub use error::ProductOSRequestError;
#[cfg(any(feature = "request", feature = "request_std"))]
pub use body::BodyType;
#[cfg(any(feature = "request", feature = "request_std"))]
pub use request::ProductOSRequest;
#[cfg(any(feature = "response", feature = "response_std"))]
pub use response::ProductOSResponse;
#[cfg(any(feature = "request", feature = "request_std"))]
pub use requester::ProductOSRequester;
#[cfg(any(feature = "request", feature = "request_std"))]
pub use client::ProductOSClient;
#[cfg(all(feature = "request_std", any(feature = "std", feature = "std_reqwest")))]
pub use client::ProductOSReqwestClient;
#[cfg(all(feature = "request_std", feature = "std_hyper"))]
pub use client::ProductOSHyperClient;
#[cfg(all(
feature = "request_std",
any(feature = "std", feature = "std_reqwest", feature = "std_hyper")
))]
pub use client::ProductOSRequestClient;
#[cfg(any(
feature = "request",
feature = "response",
feature = "request_std",
feature = "response_std"
))]
pub use product_os_http::{
header::{HeaderMap, HeaderName, HeaderValue},
response::Parts,
Request, Response, StatusCode,
};
#[cfg(any(
feature = "uri",
feature = "request",
feature = "response",
feature = "request_std",
feature = "response_std"
))]
pub use product_os_http::Uri;
#[cfg(any(
feature = "request",
feature = "response",
feature = "request_std",
feature = "response_std"
))]
pub use product_os_http_body::*;