From ee9118e360e9c4fe5859fa767ad682bf6aa2db8b Mon Sep 17 00:00:00 2001 From: Archangel Date: Wed, 1 Oct 2025 18:11:04 +0200 Subject: [PATCH] ImageSerializer & Image dynamic router begone --- .../Routers/Dynamic/HttpDynamicRouter.cs | 17 ----------- .../Routers/ImageRouter.cs | 29 ++++++++++++------- .../Routers/Serializers/ImageSerializer.cs | 20 ------------- 3 files changed, 18 insertions(+), 48 deletions(-) delete mode 100644 Libraries/SPTarkov.Server.Core/Routers/Dynamic/HttpDynamicRouter.cs delete mode 100644 Libraries/SPTarkov.Server.Core/Routers/Serializers/ImageSerializer.cs diff --git a/Libraries/SPTarkov.Server.Core/Routers/Dynamic/HttpDynamicRouter.cs b/Libraries/SPTarkov.Server.Core/Routers/Dynamic/HttpDynamicRouter.cs deleted file mode 100644 index 13ec2e9f..00000000 --- a/Libraries/SPTarkov.Server.Core/Routers/Dynamic/HttpDynamicRouter.cs +++ /dev/null @@ -1,17 +0,0 @@ -using SPTarkov.DI.Annotations; -using SPTarkov.Server.Core.DI; -using SPTarkov.Server.Core.Models.Eft.Common; -using SPTarkov.Server.Core.Utils; - -namespace SPTarkov.Server.Core.Routers.Dynamic; - -[Injectable] -public class HttpDynamicRouter(ImageRouter imageRouter, JsonUtil jsonUtil) - : DynamicRouter( - jsonUtil, - [ - new RouteAction(".jpg", async (_, _, _, _) => await imageRouter.GetImage()), - new RouteAction(".png", async (_, _, _, _) => await imageRouter.GetImage()), - new RouteAction(".ico", async (_, _, _, _) => await imageRouter.GetImage()), - ] - ) { } diff --git a/Libraries/SPTarkov.Server.Core/Routers/ImageRouter.cs b/Libraries/SPTarkov.Server.Core/Routers/ImageRouter.cs index c390a9a5..75788d7f 100644 --- a/Libraries/SPTarkov.Server.Core/Routers/ImageRouter.cs +++ b/Libraries/SPTarkov.Server.Core/Routers/ImageRouter.cs @@ -2,6 +2,7 @@ using Microsoft.AspNetCore.Http; using SPTarkov.DI.Annotations; using SPTarkov.Server.Core.Models.Common; using SPTarkov.Server.Core.Models.Utils; +using SPTarkov.Server.Core.Servers.Http; using SPTarkov.Server.Core.Services.Image; using SPTarkov.Server.Core.Utils; @@ -13,31 +14,37 @@ public class ImageRouter( ImageRouterService imageRouterService, HttpFileUtil httpFileUtil, ISptLogger logger -) +) : IHttpListener { public void AddRoute(string key, string valueToAdd) { imageRouterService.AddRoute(key.ToLowerInvariant(), valueToAdd); } - public async Task SendImage(MongoId sessionId, HttpRequest req, HttpResponse resp, object body) + public bool CanHandle(MongoId sessionId, HttpContext context) + { + var url = fileUtil.StripExtension(context.Request.Path, true); + var urlKeyLower = url.ToLowerInvariant(); + + if (imageRouterService.ExistsByKey(urlKeyLower)) + { + return true; + } + + return false; + } + + public async Task Handle(MongoId sessionId, HttpContext context) { // remove file extension - var url = fileUtil.StripExtension(req.Path, true); + var url = fileUtil.StripExtension(context.Request.Path, true); // Send image var urlKeyLower = url.ToLowerInvariant(); if (imageRouterService.ExistsByKey(urlKeyLower)) { - await httpFileUtil.SendFile(resp, imageRouterService.GetByKey(urlKeyLower)); + await httpFileUtil.SendFile(context.Response, imageRouterService.GetByKey(urlKeyLower)); return; } - - logger.Warning($"IMAGE: {url} not found"); - } - - public ValueTask GetImage() - { - return new ValueTask("IMAGE"); } } diff --git a/Libraries/SPTarkov.Server.Core/Routers/Serializers/ImageSerializer.cs b/Libraries/SPTarkov.Server.Core/Routers/Serializers/ImageSerializer.cs deleted file mode 100644 index bc748f9d..00000000 --- a/Libraries/SPTarkov.Server.Core/Routers/Serializers/ImageSerializer.cs +++ /dev/null @@ -1,20 +0,0 @@ -using Microsoft.AspNetCore.Http; -using SPTarkov.DI.Annotations; -using SPTarkov.Server.Core.DI; -using SPTarkov.Server.Core.Models.Common; - -namespace SPTarkov.Server.Core.Routers.Serializers; - -[Injectable] -public class ImageSerializer(ImageRouter imageRouter) : ISerializer -{ - public async Task Serialize(MongoId sessionID, HttpRequest req, HttpResponse resp, object? body) - { - await imageRouter.SendImage(sessionID, req, resp, body); - } - - public bool CanHandle(string route) - { - return route == "IMAGE"; - } -}