From ddcab0c6ed2ef3f6eecc347bb7374d15829901f7 Mon Sep 17 00:00:00 2001 From: glax Date: Fri, 5 Sep 2025 20:42:02 +0200 Subject: [PATCH] Fix caching etag comparison --- API/Controllers/MangaController.cs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/API/Controllers/MangaController.cs b/API/Controllers/MangaController.cs index 3788a98..7c5d7ba 100644 --- a/API/Controllers/MangaController.cs +++ b/API/Controllers/MangaController.cs @@ -226,8 +226,11 @@ public class MangaController(MangaContext context) : Controller } DateTime lastModified = data.fileInfo.LastWriteTime; + EntityTagHeaderValue entityTagHeaderValue = EntityTagHeaderValue.Parse($"\"{lastModified.Ticks}\""); + if(HttpContext.Request.Headers.ETag.Equals(entityTagHeaderValue.Tag.Value)) + return TypedResults.StatusCode(Status304NotModified); HttpContext.Response.Headers.CacheControl = "public"; - return TypedResults.Bytes(data.stream.ToArray(), "image/jpeg", lastModified: new DateTimeOffset(lastModified), entityTag: EntityTagHeaderValue.Parse($"\"{lastModified.Ticks}\"")); + return TypedResults.Bytes(data.stream.ToArray(), "image/jpeg", lastModified: new DateTimeOffset(lastModified), entityTag: entityTagHeaderValue); } public enum CoverSize { Original, Large, Medium, Small }