From f66c0ea706a060eb79c290f22b736babfda26b59 Mon Sep 17 00:00:00 2001 From: Timerix22 Date: Mon, 18 Dec 2023 12:04:41 +0600 Subject: [PATCH] router fix --- Fluzm/Program.cs | 5 ++--- Fluzm/Router.cs | 14 ++++++++------ 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/Fluzm/Program.cs b/Fluzm/Program.cs index 8a70536..c5edde1 100644 --- a/Fluzm/Program.cs +++ b/Fluzm/Program.cs @@ -73,9 +73,8 @@ internal static class Program try { logger.LogInfo(logContext, $"{ctx.Request.HttpMethod} request for {ctx.Request.RawUrl} from {ctx.Request.RemoteEndPoint}"); - if(router.TryResolve(ctx)) - logger.LogInfo(logContext, "request handled"); - else logger.LogInfo(logContext, "request rejected"); + bool isRequestHandled = router.TryResolve(ctx); + logger.LogInfo(logContext, isRequestHandled ? "request handled" : "request rejected"); } catch (Exception ex) { diff --git a/Fluzm/Router.cs b/Fluzm/Router.cs index cc6f2b8..b0a07ed 100644 --- a/Fluzm/Router.cs +++ b/Fluzm/Router.cs @@ -27,7 +27,9 @@ public class Router else if(ctx.Request.HttpMethod == "GET") { string urlPath = ctx.Request.Url.AbsolutePath; - var ext = Path.Extension(urlPath).Str; + string ext = urlPath.EndsWith(".js.map") + ? ".js.map" // extname of '*.js.map' is '.map' so it has to be set explicitely + : Path.Extension(urlPath).Str; IOPath filePath; switch (ext) { @@ -40,13 +42,13 @@ public class Router ctx.Response.Headers.Set("Content-Type", "text/css"); break; case "js": - filePath = Path.Concat(publicDirPath, "js", urlPath); + case "js.map": + case "jsx": + case "ts": + case "tsx": + filePath = Path.Concat(publicDirPath, "scripts", urlPath); ctx.Response.Headers.Set("Content-Type", "text/javascript"); break; - case "map": - if (urlPath.EndsWith(".js.map")) - goto case "js"; - goto default; default: if (urlPath == "/") {