HomeRoute removed (use MapRoute "/")

This commit is contained in:
Timerix 2025-03-23 02:44:51 +05:00
parent 1eb208cba3
commit a4c2ae3e28
2 changed files with 6 additions and 9 deletions

View File

@ -2,7 +2,7 @@
<PropertyGroup>
<!--package info-->
<PackageId>DTLib.Web</PackageId>
<Version>1.2.0</Version>
<Version>1.2.1</Version>
<Authors>Timerix</Authors>
<Description>HTTP Server with simple routing</Description>
<RepositoryType>GIT</RepositoryType>

View File

@ -2,12 +2,9 @@ namespace DTLib.Web.Routes;
public class SimpleRouter : IRouter
{
/// route for base url
public RouteHandler? HomePageRoute { get; set; }
/// route for any url that doesn't have its own handler
public RouteHandler? DefaultRoute { get; set; }
private readonly Dictionary<string, RouteHandler> _routes = new();
private readonly ILogger _logger;
@ -23,11 +20,11 @@ public class SimpleRouter : IRouter
public async Task<HttpStatusCode> Resolve(HttpListenerContext ctx)
{
string requestPath = ctx.Request.Url?.AbsolutePath ?? "/";
RouteHandler? route;
if(HomePageRoute != null && requestPath == "/")
route = HomePageRoute;
else if (!_routes.TryGetValue($"{requestPath}:{ctx.Request.HttpMethod}", out route))
string? requestPath = ctx.Request.Url?.AbsolutePath;
if (string.IsNullOrEmpty(requestPath))
requestPath = "/";
if (!_routes.TryGetValue($"{requestPath}:{ctx.Request.HttpMethod}", out var route))
route = DefaultRoute;
HttpStatusCode status;