Skip to main content

worldinterface_daemon/
router.rs

1//! Router construction.
2
3use tower_http::trace::TraceLayer;
4
5use crate::routes;
6use crate::state::SharedState;
7
8/// Build the complete daemon router with all endpoint modules.
9pub fn build_router(state: SharedState) -> axum::Router {
10    let router = axum::Router::new();
11    let router = routes::health::register_routes(router);
12    let router = routes::capabilities::register_routes(router);
13    let router = routes::flows::register_routes(router);
14    let router = routes::runs::register_routes(router);
15    let router = routes::invoke::register_routes(router);
16    let router = routes::webhooks::register_routes(router);
17    let router = routes::metrics::register_routes(router);
18    router.with_state(state).layer(TraceLayer::new_for_http())
19}