wsprism_gateway/
router.rs

1//! Axum router wiring.
2//!
3//! Exposes:
4//! - `/v1/ws`    : WebSocket upgrade
5//! - `/healthz`  : liveness
6//! - `/readyz`   : readiness
7//! - `/metrics`  : Prometheus metrics
8
9use axum::{routing::get, Router};
10
11use crate::{app_state::AppState, ops, transport};
12
13pub fn build_router(state: AppState) -> Router {
14    Router::new()
15        .route("/v1/ws", get(transport::ws::ws_upgrade))
16        .route("/healthz", get(ops::healthz))
17        .route("/readyz", get(ops::readyz))
18        .route("/metrics", get(ops::metrics))
19        .with_state(state)
20}