1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
use crate::Params; use path_tree::PathTree; use web_sys::{Request, Response}; pub struct Router { pub(crate) tree: PathTree<Box<dyn Fn(Request, Params) -> Response>>, } impl Router { pub fn new() -> Router { let tree = PathTree::<Box<dyn Fn(Request, Params) -> Response>>::new(); Router { tree: tree } } pub fn add(&mut self, path: String, data: Box<dyn Fn(Request, Params) -> Response>) { self.tree.insert(&path, data); } }