diff --git a/dns/src/gurt_server.rs b/dns/src/gurt_server.rs index d3bf5c7..473dbb4 100644 --- a/dns/src/gurt_server.rs +++ b/dns/src/gurt_server.rs @@ -342,6 +342,14 @@ async fn serve_static_file(ctx: &ServerContext) -> Result { .and_then(|h| h.to_str().ok()) .unwrap_or(""); + // Debug logging + log::info!("Static file request - Path: '{}', Host header: '{}'", path, host_header); + log::info!("All headers: {:?}", ctx.request.headers()); + + // Extract hostname without port + let hostname = host_header.split(':').next().unwrap_or(host_header); + log::info!("Extracted hostname: '{}'", hostname); + // Strip query parameters from the path for static file serving let path_without_query = if let Some(query_pos) = path.find('?') { &path[..query_pos] @@ -350,9 +358,11 @@ async fn serve_static_file(ctx: &ServerContext) -> Result { }; let file_path = if path_without_query == "/" || path_without_query == "" { - if host_header == "search.web" { + if hostname == "search.web" { + log::info!("Serving search.html for search.web domain"); "search.html" } else { + log::info!("Serving index.html for domain: '{}'", hostname); "index.html" } } else { @@ -372,13 +382,16 @@ async fn serve_static_file(ctx: &ServerContext) -> Result { let current_dir = std::env::current_dir() .map_err(|_| GurtError::invalid_message("Failed to get current directory"))?; - let frontend_dir = if host_header == "search.web" { + let frontend_dir = if hostname == "search.web" { + log::info!("Using search-engine frontend directory"); current_dir.join("search-engine").join("frontend") } else { + log::info!("Using default frontend directory"); current_dir.join("frontend") }; let full_path = frontend_dir.join(file_path); + log::info!("Attempting to serve file: '{}'", full_path.display()); match tokio::fs::read_to_string(&full_path).await { Ok(content) => {