|
|
@ -15,7 +15,7 @@ struct Response {
|
|
|
|
body: Vec<u8>
|
|
|
|
body: Vec<u8>
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
type BoxedCallback = Box<Fn(&Request) -> Response>;
|
|
|
|
type BoxedCallback = Box<dyn Fn(&Request) -> Response>;
|
|
|
|
|
|
|
|
|
|
|
|
struct BasicRouter {
|
|
|
|
struct BasicRouter {
|
|
|
|
routes: HashMap<String, BoxedCallback>
|
|
|
|
routes: HashMap<String, BoxedCallback>
|
|
|
@ -35,6 +35,7 @@ impl BasicRouter {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
impl BasicRouter {
|
|
|
|
impl BasicRouter {
|
|
|
|
fn handle_request(&self, request: &Request) -> Response {
|
|
|
|
fn handle_request(&self, request: &Request) -> Response {
|
|
|
|
match self.routes.get(&request.url) {
|
|
|
|
match self.routes.get(&request.url) {
|
|
|
|