From 7bb565d0da0539e52d1b790af449bb71f1077295 Mon Sep 17 00:00:00 2001 From: Jordan Dominion Date: Sun, 29 Oct 2023 18:10:19 -0400 Subject: [PATCH] Better message formatting for `HeadersException` --- src/Tgstation.Server.Api/ApiHeaders.cs | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/Tgstation.Server.Api/ApiHeaders.cs b/src/Tgstation.Server.Api/ApiHeaders.cs index 5670abb8a3..c912e58265 100644 --- a/src/Tgstation.Server.Api/ApiHeaders.cs +++ b/src/Tgstation.Server.Api/ApiHeaders.cs @@ -197,11 +197,15 @@ namespace Tgstation.Server.Api var badHeaders = HeaderTypes.None; var errorBuilder = new StringBuilder(); - + var multipleErrors = false; void AddError(HeaderTypes headerType, string message) { if (badHeaders != HeaderTypes.None) + { + multipleErrors = true; errorBuilder.AppendLine(); + } + badHeaders |= headerType; errorBuilder.Append(message); } @@ -334,7 +338,12 @@ namespace Tgstation.Server.Api } if (badHeaders != HeaderTypes.None) + { + if (multipleErrors) + errorBuilder.Insert(0, $"Multiple header validation errors occurred:{Environment.NewLine}"); + throw new HeadersException(badHeaders, errorBuilder.ToString()); + } ApiVersion = apiVersion!.Semver(); }