From 176c5e719724f1fb20927a4ec223feacff2f176b Mon Sep 17 00:00:00 2001 From: GHXX Date: Sun, 21 Jul 2024 06:45:13 +0200 Subject: [PATCH] fix required GET args being present not triggering a 400 when no GET args were passed at all --- SimpleHttpServer/HttpServer.cs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/SimpleHttpServer/HttpServer.cs b/SimpleHttpServer/HttpServer.cs index 3891518..d5cc3ee 100644 --- a/SimpleHttpServer/HttpServer.cs +++ b/SimpleHttpServer/HttpServer.cs @@ -255,6 +255,12 @@ public sealed class HttpServer { } } } + } else { + var requiredParams = qparams.Where(x => !x.IsOptional).Select(x => $"'{x.Name}'").ToList(); + if (requiredParams.Any()) { + await HandleDefaultErrorPageAsync(rc, HttpStatusCode.BadRequest, $"Missing required query parameter(s): {string.Join(",", requiredParams)}"); + return; + } } convertedQParamValues[0] = rc; rc.ParsedParameters = parsedQParams.AsReadOnly();