Skip to main content

auric_runtime/routing/
router.rs

1use super::RouteDef;
2use crate::Context;
3use anyhow::Result;
4
5pub struct Router {
6    route_defs: Vec<RouteDef>,
7}
8
9impl Router {
10    pub fn new(route_defs: Vec<RouteDef>) -> Self {
11        Self { route_defs }
12    }
13
14    pub fn init(&mut self, context: &dyn Context) -> Result<()> {
15        // Initialize routes
16        for route_def in &self.route_defs {
17            let mut route = route_def.route.lock().expect("Failed locking route for initialization");
18            route.init(context)?;
19        }
20
21        // Done
22        web_sys::console::log_1(&"Initialized router".into());
23        Ok(())
24    }
25}