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}