1pub mod extract;
29pub mod guard_integration;
30pub mod ingress;
31pub mod response;
32pub mod service;
33pub mod sse;
34
35#[cfg(feature = "htmx")]
36pub mod htmx;
37#[cfg(feature = "http3")]
38pub mod http3;
39pub mod test_harness;
40
41pub use extract::{CookieJar, DEFAULT_BODY_LIMIT, ExtractError, FromRequest, Header, Json, Path, Query};
42pub use ingress::{
43 HttpIngress, HttpRouteDescriptor, PathParams, Ranvier, WebSocketConnection, WebSocketError,
44 WebSocketEvent, WebSocketSessionContext,
45};
46pub use response::{
47 Html, HttpResponse, IntoProblemDetail, IntoResponse, ProblemDetail, json_error_response,
48 outcome_to_problem_response, outcome_to_response, outcome_to_response_with_error,
49};
50pub use guard_integration::{
51 BusInjectorFn, GuardExec, GuardIntegration, GuardRejection, PreflightConfig, RegisteredGuard,
52 ResponseBodyTransformFn, ResponseExtractorFn,
53};
54pub use service::RanvierService;
55pub use sse::{Sse, SseEvent};
56pub use test_harness::{TestApp, TestHarnessError, TestRequest, TestResponse};
57
58#[macro_export]
78macro_rules! guards {
79 [$($guard:expr),* $(,)?] => {
80 vec![$( $crate::GuardIntegration::register($guard) ),*]
81 };
82}
83
84pub mod prelude {
86 pub use crate::extract::{CookieJar, DEFAULT_BODY_LIMIT, ExtractError, FromRequest, Header, Json, Path, Query};
87 pub use crate::ingress::{
88 HttpIngress, HttpRouteDescriptor, PathParams, Ranvier, WebSocketConnection, WebSocketError,
89 WebSocketEvent, WebSocketSessionContext,
90 };
91 pub use crate::response::{
92 Html, HttpResponse, IntoProblemDetail, IntoResponse, ProblemDetail, json_error_response,
93 outcome_to_problem_response, outcome_to_response, outcome_to_response_with_error,
94 };
95 pub use crate::guard_integration::{
96 BusInjectorFn, GuardExec, GuardIntegration, GuardRejection, PreflightConfig,
97 RegisteredGuard, ResponseBodyTransformFn, ResponseExtractorFn,
98 };
99 pub use crate::service::RanvierService;
100 pub use crate::sse::{Sse, SseEvent};
101 pub use crate::test_harness::{TestApp, TestHarnessError, TestRequest, TestResponse};
102}