From 246d13d216e0ff3359eb670d557ae3f819ffabd9 Mon Sep 17 00:00:00 2001 From: "igor.petrenko" Date: Thu, 5 Feb 2026 15:23:57 +0200 Subject: [PATCH] add: PnioExchange#getRequestHeaders --- .../main/java/oap/http/pniov3/PnioExchange.java | 15 +++++++++++++++ pom.xml | 2 +- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/oap-http/oap-pnio-v3/src/main/java/oap/http/pniov3/PnioExchange.java b/oap-http/oap-pnio-v3/src/main/java/oap/http/pniov3/PnioExchange.java index d8243f3d3..43c97a4f6 100644 --- a/oap-http/oap-pnio-v3/src/main/java/oap/http/pniov3/PnioExchange.java +++ b/oap-http/oap-pnio-v3/src/main/java/oap/http/pniov3/PnioExchange.java @@ -3,6 +3,8 @@ import com.google.common.base.Preconditions; import io.micrometer.core.instrument.Metrics; import io.micrometer.core.instrument.Timer; +import io.undertow.util.HeaderMap; +import io.undertow.util.HeaderValues; import io.undertow.util.StatusCodes; import oap.http.Cookie; import oap.http.Http; @@ -11,9 +13,11 @@ import java.lang.invoke.MethodHandles; import java.lang.invoke.VarHandle; import java.nio.BufferOverflowException; +import java.util.ArrayDeque; import java.util.ArrayList; import java.util.Deque; import java.util.HashMap; +import java.util.LinkedHashMap; import java.util.Map; import java.util.concurrent.CompletionException; import java.util.concurrent.ConcurrentHashMap; @@ -358,6 +362,17 @@ public String header( String headerName, String defaultValue ) { return oapExchange.header( headerName, defaultValue ); } + public Map> getRequestHeaders() { + HeaderMap requestHeaders = oapExchange.getRequestHeaders(); + LinkedHashMap> ret = new LinkedHashMap<>(); + + for( HeaderValues hv : requestHeaders ) { + ret.put( hv.getHeaderName().toString(), new ArrayDeque<>( hv.stream().toList() ) ); + } + + return ret; + } + public void updateTimeoutNano( long timeoutNano ) { this.timeoutNano = timeoutNano; } diff --git a/pom.xml b/pom.xml index 4f90a40b5..e27d0008e 100644 --- a/pom.xml +++ b/pom.xml @@ -65,7 +65,7 @@ - 25.3.2 + 25.3.3 25.0.1 25.0.0