Skip to main content

road_runner_common/
lib.rs

1#![forbid(unsafe_code)]
2
3// `auth` owns the `uuid` dependency, so the module has to follow its own feature —
4// otherwise `default-features = false` without it fails to compile on an unlinked crate.
5#[cfg(feature = "auth")]
6pub mod auth;
7pub mod capabilities;
8pub mod config;
9#[cfg(feature = "confirm")]
10pub mod confirm;
11pub mod error;
12#[cfg(feature = "notification")]
13pub mod notification;
14pub mod observability;
15pub mod pagination;
16pub mod permissions;
17pub mod response;
18pub mod startup_banner;
19
20#[cfg(feature = "gateway")]
21pub mod gateway;
22
23#[cfg(feature = "authz")]
24pub mod authz;
25
26#[cfg(feature = "kafka")]
27pub mod kafka;
28
29#[cfg(feature = "governance")]
30pub mod governance;
31
32#[cfg(feature = "openapi")]
33pub mod openapi;
34
35#[cfg(feature = "web")]
36pub mod middleware;
37
38#[cfg(feature = "web")]
39pub mod web;
40
41#[cfg(feature = "auth")]
42pub use auth::{PrincipalKind, UserContext};
43pub use error::{AppError, ErrorCode};
44pub use pagination::{PageRequest, Paged};
45pub use response::{ApiErrorDetail, ApiMeta, ApiResponse};
46
47#[cfg(feature = "gateway")]
48pub use gateway::GatewayAuthConfig;
49
50#[cfg(all(feature = "gateway", feature = "web"))]
51pub use gateway::gateway_resolver;
52
53#[cfg(feature = "authz")]
54pub use authz::{Decision, Pdp};