From 546fca883e83301c4436a176931e5cbea7127c75 Mon Sep 17 00:00:00 2001 From: Philip Helger Date: Wed, 13 Nov 2024 15:32:32 +0100 Subject: [PATCH] Improve JSON for HTTP headers with a single value --- .../com/helger/phase4/incoming/AS4IncomingHelper.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/phase4-lib/src/main/java/com/helger/phase4/incoming/AS4IncomingHelper.java b/phase4-lib/src/main/java/com/helger/phase4/incoming/AS4IncomingHelper.java index b3428dd75..497630895 100644 --- a/phase4-lib/src/main/java/com/helger/phase4/incoming/AS4IncomingHelper.java +++ b/phase4-lib/src/main/java/com/helger/phase4/incoming/AS4IncomingHelper.java @@ -20,6 +20,7 @@ import javax.annotation.concurrent.Immutable; import com.helger.commons.annotation.Nonempty; +import com.helger.commons.collection.impl.ICommonsList; import com.helger.commons.datetime.PDTWebDateHelper; import com.helger.commons.string.StringHelper; import com.helger.json.IJsonArray; @@ -89,8 +90,13 @@ public static IJsonObject getIncomingMetadataAsJson (@Nonnull final IAS4Incoming final IJsonArray aArray = new JsonArray (); for (final var aHeader : aMessageMetadata.getAllHttpHeaders ()) { + final ICommonsList aHeaderValues = aHeader.getValue (); + final IJsonObject aObj = new JsonObject (); - aObj.add (aHeader.getKey (), new JsonArray ().addAll (aHeader.getValue ())); + if (aHeaderValues.size () != 1) + aObj.add (aHeader.getKey (), new JsonArray ().addAll (aHeaderValues)); + else + aObj.add (aHeader.getKey (), aHeaderValues.getFirstOrNull ()); aArray.add (aObj); } if (aArray.isNotEmpty ())