road-runner-common 0.22.0

Shared Rust utilities for exchange ecosystem backend services.
Documentation
#![forbid(unsafe_code)]

// `auth` owns the `uuid` dependency, so the module has to follow its own feature —
// otherwise `default-features = false` without it fails to compile on an unlinked crate.
#[cfg(feature = "auth")]
pub mod auth;
pub mod capabilities;
pub mod config;
pub mod defy;
#[cfg(feature = "confirm")]
pub mod confirm;
pub mod error;
#[cfg(feature = "notification")]
pub mod notification;
pub mod observability;
pub mod pagination;
pub mod permissions;
pub mod response;
pub mod startup_banner;

#[cfg(feature = "gateway")]
pub mod gateway;

#[cfg(feature = "authz")]
pub mod authz;

#[cfg(feature = "kafka")]
pub mod kafka;

#[cfg(feature = "governance")]
pub mod governance;

#[cfg(feature = "openapi")]
pub mod openapi;

#[cfg(feature = "web")]
pub mod middleware;

#[cfg(feature = "web")]
pub mod web;

#[cfg(feature = "auth")]
pub use auth::{PrincipalKind, UserContext};
pub use error::{AppError, ErrorCode};
pub use pagination::{PageRequest, Paged};
pub use response::{ApiErrorDetail, ApiMeta, ApiResponse};

#[cfg(feature = "gateway")]
pub use gateway::GatewayAuthConfig;

#[cfg(all(feature = "gateway", feature = "web"))]
pub use gateway::gateway_resolver;

#[cfg(feature = "authz")]
pub use authz::{Decision, Pdp};