#![doc = include_str!("../README.md")]
#![cfg_attr(docsrs, feature(doc_auto_cfg))]
pub(crate) const ACCEPT_POST: http::HeaderName = http::HeaderName::from_static("accept-post");
pub(crate) const ACCEPT_PATCH: http::HeaderName = http::HeaderName::from_static("accept-patch");
mod client;
mod core;
mod ext;
mod format;
#[cfg(feature = "utoipa")]
mod openapi;
mod server;
pub use core::{
AcceptMatch, ClientConfig, Negotiate, NegotiateResponse, NegotiatedFormat, NegotiationError,
ServerConfig, extract_negotiated_format, parse_accept, parse_content_type,
parse_content_type_erased,
};
pub use client::{
ClientNegotiateFuture, ClientNegotiateLayer, ClientNegotiateService, ClientRequestExt,
Retry415Helper, RetryError, serialize,
};
pub use server::{NegotiateLayer, NegotiateService};
#[cfg(feature = "hyper-client")]
pub use ext::HyperClientExt;
pub use ext::NegotiateRequestBuilderExt;
pub use ext::NegotiateResponseExt;
#[cfg(feature = "utoipa")]
pub use openapi::OpenApiFormats;
#[cfg(feature = "bson")]
pub use format::BsonFormat;
#[cfg(feature = "cbor")]
pub use format::CborFormat;
#[cfg(feature = "form")]
pub use format::FormFormat;
#[cfg(feature = "plain")]
pub use format::HtmlFormat;
#[cfg(feature = "json")]
pub use format::JsonFormat;
#[cfg(feature = "plain")]
pub use format::PlainTextFormat;
#[cfg(feature = "postcard")]
pub use format::PostcardFormat;
#[cfg(feature = "toml")]
pub use format::TomlFormat;
#[cfg(feature = "xml")]
pub use format::XmlFormat;
pub use format::{
Borrowable, Consumable, ErasedFormat, Format, MatchSpecificity, OwnedDeserializer,
OwnedSerializer, match_specificity,
};
#[cfg(feature = "msgpack")]
pub use format::{MsgPackFormat, MsgPackNamedFormat};