1use axum::Router;
6
7pub struct RouterBuilder {
9 router: Router,
10}
11
12impl RouterBuilder {
13 pub fn new() -> Self {
15 Self { router: Router::new() }
16 }
17
18 pub fn route(mut self, path: &str, router: Router) -> Self {
20 self.router = self.router.nest(path, router);
21 self
22 }
23
24 pub fn merge(mut self, router: Router) -> Self {
26 self.router = self.router.merge(router);
27 self
28 }
29
30 pub fn build(self) -> Router {
32 self.router
33 }
34}
35
36impl Default for RouterBuilder {
37 fn default() -> Self {
38 Self::new()
39 }
40}
41
42pub fn health_check_router() -> Router {
44 Router::new().route("/health", axum::routing::get(|| async { "OK" }))
45}