From 1279c30fbb93b9bf40da13916d13ce2717df2143 Mon Sep 17 00:00:00 2001 From: Ben Date: Fri, 21 Nov 2025 18:34:22 +0800 Subject: [PATCH] Fix #5649: check path by internal api. --- .../Extensions/ApplicationBuilderExtensions.cs | 16 +++------------- 1 file changed, 3 insertions(+), 13 deletions(-) diff --git a/Oqtane.Server/Extensions/ApplicationBuilderExtensions.cs b/Oqtane.Server/Extensions/ApplicationBuilderExtensions.cs index f3d11dc1..a18f4d02 100644 --- a/Oqtane.Server/Extensions/ApplicationBuilderExtensions.cs +++ b/Oqtane.Server/Extensions/ApplicationBuilderExtensions.cs @@ -159,7 +159,7 @@ namespace Oqtane.Extensions app.Use(async (context, next) => { var path = context.Request.Path.Value ?? string.Empty; - if (ShouldSkipStatusCodeReExecution(path)) + if (string.IsNullOrEmpty(path) || ShouldSkipStatusCodeReExecution(path)) { var feature = context.Features.Get(); feature?.Enabled = false; @@ -204,22 +204,12 @@ namespace Oqtane.Extensions static bool ShouldSkipStatusCodeReExecution(string path) { - return path.Contains("/api/", StringComparison.OrdinalIgnoreCase) || - path.StartsWith("/_framework/", StringComparison.OrdinalIgnoreCase) || - path.StartsWith("/_content/", StringComparison.OrdinalIgnoreCase) || - HasStaticFileExtension(path); + return Constants.ReservedRoutes.Any(item => path.Contains("/" + item + "/")) || HasStaticFileExtension(path); } static bool HasStaticFileExtension(string path) { - var extension = Path.GetExtension(path); - if (string.IsNullOrEmpty(extension)) - { - return false; - } - - var staticExtensions = new[] { ".js", ".css", ".map", ".json", ".jpg", ".jpeg", ".png", ".gif", ".svg", ".webp", ".ico", ".woff", ".woff2", ".ttf", ".eot", ".otf", ".mp4", ".webm", ".ogg", ".mp3", ".wav", ".pdf", ".txt", ".xml" }; - return staticExtensions.Contains(extension, StringComparer.OrdinalIgnoreCase); + return !string.IsNullOrEmpty(Path.GetExtension(path)); } } }