#![forbid(unsafe_code)]
#![warn(missing_docs)]
#![warn(rustdoc::broken_intra_doc_links)]
#[cfg(not(any(
feature = "async-tls-rustls-ring",
feature = "async-tls-rustls-aws-lc-rs",
feature = "async-tls-native"
)))]
compile_error!(
"Enable exactly one async TLS feature: \
`async-tls-rustls-ring`, `async-tls-rustls-aws-lc-rs`, or `async-tls-native`."
);
#[cfg(all(
feature = "async-tls-rustls-ring",
feature = "async-tls-rustls-aws-lc-rs"
))]
compile_error!("`async-tls-rustls-ring` and `async-tls-rustls-aws-lc-rs` are mutually exclusive.");
#[cfg(all(feature = "async-tls-rustls-ring", feature = "async-tls-native"))]
compile_error!("`async-tls-rustls-ring` and `async-tls-native` are mutually exclusive.");
#[cfg(all(feature = "async-tls-rustls-aws-lc-rs", feature = "async-tls-native"))]
compile_error!("`async-tls-rustls-aws-lc-rs` and `async-tls-native` are mutually exclusive.");
#[cfg(not(any(feature = "webhook", feature = "openapi", feature = "bot")))]
compile_error!("Enable at least one capability feature: `webhook`, `openapi`, or `bot`.");
mod client;
mod error;
#[cfg(feature = "webhook")]
mod signature;
mod transport;
mod util;
pub mod auth;
#[cfg(feature = "bot")]
pub mod bot;
#[cfg(feature = "openapi")]
pub mod openapi;
#[cfg(feature = "stream")]
pub mod stream;
#[cfg(feature = "webhook")]
pub mod webhook;
pub mod prelude;
pub mod types;
pub use client::{DingTalk, DingTalkBuilder};
pub use error::{Error, ErrorKind, Result};
pub use reqx::advanced::ClientProfile;
pub use reqx::prelude::RetryPolicy;
pub use transport::BodySnippetConfig;
#[cfg(feature = "macros")]
pub use dingding_macros::handler;
pub type Client = DingTalk;