#![cfg_attr(docsrs, feature(doc_cfg))]
#![allow(
clippy::error_impl_error,
reason = "`Error` is the idiomatic name for the crate's top-level error enum, matching the `thiserror` convention used pervasively in the Rust ecosystem"
)]
#![cfg_attr(
test,
allow(
clippy::indexing_slicing,
reason = "JSON field indexing via `Value[\"key\"]` is ergonomic inside tests and its panic-on-missing behaviour is the desired failure mode when fixtures are wrong"
)
)]
mod account;
#[cfg(feature = "client")]
#[cfg_attr(docsrs, doc(cfg(feature = "client")))]
mod client;
mod error;
mod jrd;
pub mod rels;
pub use self::account::Account;
#[cfg(feature = "client")]
#[cfg_attr(docsrs, doc(cfg(feature = "client")))]
pub use self::client::{
DEFAULT_CONNECT_TIMEOUT, DEFAULT_MAX_BODY_BYTES, DEFAULT_REQUEST_TIMEOUT, fetch_at,
fetch_at_with_limit, recommended_client, resolve,
};
pub use self::error::Error;
pub use self::jrd::{Jrd, JrdBuilder, JrdLink, JrdLinkBuilder};
pub type Result<T, E = Error> = core::result::Result<T, E>;
pub const MEDIA_TYPE: &str = "application/jrd+json";
pub const WELL_KNOWN_PATH: &str = "/.well-known/webfinger";