Cargo Features

[dependencies]
froodi = { version = "1.0.0-beta.15", default-features = false, features = ["std", "thread_safe", "async", "axum", "http2-axum", "dptree", "telers"] }
default = std, thread_safe

These default features are set whenever froodi is added without default-features = false somewhere in the dependency tree.

std default

Enables std of anyhow, thiserror, and tracing

thiserror:

Std feature enables support for formatting std::path::{Path, PathBuf}
conveniently in an error message.

#[derive(Error, Debug)]
#[error("failed to create configuration file {path}")]
pub struct MyError {
pub path: PathBuf,
pub source: std::io::Error,
}

Without std, this would need to be written #[error("... {}", path.display())].

thread_safe default axum? dptree? telers?

Affects async_impl::FinDummy

async = tokio

Enables sync of tokio

Affects dependency_resolver::DependencyResolver.resolve_async, axum::setup_async, axum::setup_async_default, dptree::setup_async, dptree::setup_async_default, telers::setup_async, telers::setup_async_default, froodi::async_impl, macros_utils::async_impl

axum http2-axum? = thread_safe

Enables tower-layer and tower-service, ws of axum

Affects integrations::axum

http2-axum

Enables h2, http2 of axum

dptree = thread_safe

Enables dptree

Affects integrations::dptree

telers = thread_safe

Enables telers

Affects integrations::telers

Features from optional dependencies

In crates that don't use the dep: syntax, optional dependencies automatically become Cargo features. These features may have been created by mistake, and this functionality may be removed in the future.

tokio async?