diff --git a/syndicate-server/src/services/http_router.rs b/syndicate-server/src/services/http_router.rs index 847a8a4..15ca938 100644 --- a/syndicate-server/src/services/http_router.rs +++ b/syndicate-server/src/services/http_router.rs @@ -72,6 +72,7 @@ fn run(t: &mut Activation, ds: Arc, spec: HttpRouter) -> ActorResult { enclose!((httpd, routes) during!(t, httpd, language(), , enclose!((routes, port) |t: &mut Activation| { let port2 = port.clone(); during!(t, httpd, language(), , |t: &mut Activation| { + tracing::debug!("+HTTP binding {:?} {:?} {:?} {:?} {:?}", host, port, method, path, handler); let port = port.value().to_signedinteger()?; let host = language().parse::(&host)?; let path = language().parse::(&path)?; @@ -84,6 +85,7 @@ fn run(t: &mut Activation, ds: Arc, spec: HttpRouter) -> ActorResult { .entry(method.clone()).or_default() .insert(handler.clone()); t.on_stop(enclose!((routes, handler, method, path, host, port) move |t| { + tracing::debug!("-HTTP binding {:?} {:?} {:?} {:?} {:?}", host, port, method, path, handler); let port_map = t.get_mut(&routes); let host_map = port_map.entry(port.clone()).or_default(); let path_map = host_map.entry(host.clone()).or_default(); @@ -115,6 +117,8 @@ fn run(t: &mut Activation, ds: Arc, spec: HttpRouter) -> ActorResult { let req = match language().parse::(&req) { Ok(v) => v, Err(_) => return Ok(()) }; let res = match res.value().to_embedded() { Ok(v) => v, Err(_) => return Ok(()) }; + tracing::trace!("Looking up handler for {:#?} in {:#?}", &req, &t.get(&routes)); + let host_map = match t.get(&routes).get(&req.port) { Some(host_map) => host_map, None => return send_empty(t, res, 404, "Not found"), @@ -152,6 +156,7 @@ fn run(t: &mut Activation, ds: Arc, spec: HttpRouter) -> ActorResult { tracing::warn!(?req, "Too many handlers available"); } let handler = handlers.first().expect("Nonempty handler set").clone(); + tracing::trace!("Handler for {:?} is {:?}", &req, &handler); handler.assert(t, language(), &http::HttpContext { req, res: res.clone() }); Ok(()) @@ -202,6 +207,7 @@ fn try_hostname<'table>( None => Ok(None), Some(path_table) => { for (path_pat, method_table) in path_table.iter() { + tracing::trace!("Checking path {:?} against pattern {:?}", &path, &path_pat); if path_pattern_matches(path_pat, path) { return Ok(Some(method_table)); }