diff --git a/DTLib.Web/Routes/DelegateRouteHandler.cs b/DTLib.Web/Routes/DelegateRouteHandler.cs index add62c0..a8e531a 100644 --- a/DTLib.Web/Routes/DelegateRouteHandler.cs +++ b/DTLib.Web/Routes/DelegateRouteHandler.cs @@ -1,6 +1,6 @@ namespace DTLib.Web.Routes; -public class DelegateRouteHandler(Func> routeHandler) : RouteHandler +public class DelegateRouteHandler(Func> routeHandler) : IRouteHandler { - public override Task HandleRequest(HttpListenerContext ctx) => routeHandler(ctx); + public Task HandleRequest(HttpListenerContext ctx) => routeHandler(ctx); } \ No newline at end of file diff --git a/DTLib.Web/Routes/IRouteHandler.cs b/DTLib.Web/Routes/IRouteHandler.cs new file mode 100644 index 0000000..6a83d67 --- /dev/null +++ b/DTLib.Web/Routes/IRouteHandler.cs @@ -0,0 +1,6 @@ +namespace DTLib.Web.Routes; + +public interface IRouteHandler +{ + public Task HandleRequest(HttpListenerContext ctx); +} \ No newline at end of file diff --git a/DTLib.Web/Routes/RouteHandler.cs b/DTLib.Web/Routes/RouteHandler.cs deleted file mode 100644 index 2889276..0000000 --- a/DTLib.Web/Routes/RouteHandler.cs +++ /dev/null @@ -1,6 +0,0 @@ -namespace DTLib.Web.Routes; - -public abstract class RouteHandler -{ - public abstract Task HandleRequest(HttpListenerContext ctx); -} \ No newline at end of file diff --git a/DTLib.Web/Routes/ServeFilesRouteHandler.cs b/DTLib.Web/Routes/ServeFilesRouteHandler.cs index ac3d03b..5a63b50 100644 --- a/DTLib.Web/Routes/ServeFilesRouteHandler.cs +++ b/DTLib.Web/Routes/ServeFilesRouteHandler.cs @@ -1,8 +1,8 @@ namespace DTLib.Web.Routes; -public class ServeFilesRouteHandler(IOPath _publicDir, string _homePageUrl = "index.html") : RouteHandler +public class ServeFilesRouteHandler(IOPath _publicDir, string _homePageUrl = "index.html") : IRouteHandler { - public override async Task HandleRequest(HttpListenerContext ctx) + public async Task HandleRequest(HttpListenerContext ctx) { if (ctx.Request.HttpMethod != "GET") return HttpStatusCode.BadRequest; diff --git a/DTLib.Web/Routes/SimpleRouter.cs b/DTLib.Web/Routes/SimpleRouter.cs index 972dbe7..05bba5a 100644 --- a/DTLib.Web/Routes/SimpleRouter.cs +++ b/DTLib.Web/Routes/SimpleRouter.cs @@ -3,9 +3,9 @@ namespace DTLib.Web.Routes; public class SimpleRouter : IRouter { /// route for any url that doesn't have its own handler - public RouteHandler? DefaultRoute { get; set; } + public IRouteHandler? DefaultRoute { get; set; } - private readonly Dictionary _routes = new(); + private readonly Dictionary _routes = new(); private readonly ILogger _logger; public SimpleRouter(ILogger logger) @@ -13,7 +13,7 @@ public class SimpleRouter : IRouter _logger = logger; } - public void MapRoute(string url, HttpMethod method, RouteHandler route) => _routes.Add($"{url}:{method}", route); + public void MapRoute(string url, HttpMethod method, IRouteHandler route) => _routes.Add($"{url}:{method}", route); public void MapRoute(string url, HttpMethod method, Func> route) => MapRoute(url, method, new DelegateRouteHandler(route));