Skip to main content

doido_controller/
lib.rs

1pub mod config;
2pub mod constraints;
3pub mod context;
4pub mod cookies;
5pub mod csrf;
6pub mod env_override;
7pub mod flash;
8pub mod health;
9pub mod helper;
10pub mod initializers;
11pub mod logging;
12pub mod params;
13pub mod rate_limit;
14pub mod rescue;
15pub mod respond;
16pub mod response;
17pub mod route_table;
18pub mod secret;
19pub mod server;
20pub mod signing;
21// Tower middleware stacks and sessions (the former `doido-middleware` crate).
22pub mod session;
23pub mod stack;
24pub mod testing;
25
26// Re-exported so `routes!`-generated code and application crates reach axum through
27// `doido_controller::axum` (generated apps: `doido::controller::axum`). Do not depend
28// on the `axum` crate directly outside this module.
29pub use axum;
30pub use config::{Config, LoggerConfig, ServerConfig, YamlConfig};
31pub use context::{Context, IntoActionResponse};
32pub use cookies::CookieJar;
33// `before_action`/`after_action` are helper attributes consumed by `#[controller]`,
34// not standalone macros, so only `controller` and `routes` are re-exported.
35pub use doido_controller_macros::{controller, helper, routes};
36pub use flash::Flash;
37pub use helper::Helper;
38pub use params::Params;
39pub use rescue::RescueHandlers;
40pub use response::Response;
41pub use route_table::{all_routes, print_routes, register_routes, RouteEntry};
42pub use server::{start_server, start_server_with};
43pub use session::{
44    CacheSessionStore, CookieSessionStore, EncryptedCookieSessionStore, Session, SessionStore,
45};
46pub use stack::MiddlewareStack;