From 3df9fa62053f7a6a518dde60e160d1d6b09487ce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandeep=20Mor=C3=A9?= Date: Fri, 6 Sep 2024 11:43:13 -0400 Subject: [PATCH] KNOX-3062 - Fix an issue where group headers were not added to POST and PUT requests --- .../knox/gateway/dispatch/ConfigurableDispatch.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/gateway-spi/src/main/java/org/apache/knox/gateway/dispatch/ConfigurableDispatch.java b/gateway-spi/src/main/java/org/apache/knox/gateway/dispatch/ConfigurableDispatch.java index 6f1d240e56..43dd730b2d 100644 --- a/gateway-spi/src/main/java/org/apache/knox/gateway/dispatch/ConfigurableDispatch.java +++ b/gateway-spi/src/main/java/org/apache/knox/gateway/dispatch/ConfigurableDispatch.java @@ -168,17 +168,24 @@ public void setGroupFilterPattern(@Default(DEFAULT_GROUP_FILTER_PATTERN) String groupPattern = Pattern.compile(this.groupFilterPattern); } + public void copyRequestHeaderFields(HttpUriRequest outboundRequest, HttpServletRequest inboundRequest, boolean shouldAddExpect100Header) { + super.copyRequestHeaderFields(outboundRequest, inboundRequest, shouldAddExpect100Header); + addPrincipalAndGroups(outboundRequest); + } + @Override public void copyRequestHeaderFields(HttpUriRequest outboundRequest, HttpServletRequest inboundRequest) { super.copyRequestHeaderFields(outboundRequest, inboundRequest); + addPrincipalAndGroups(outboundRequest); + } + private void addPrincipalAndGroups(final HttpUriRequest outboundRequest) { //If there are some headers to be appended, append them Map extraHeaders = getOutboundRequestAppendHeaders(); if(MapUtils.isNotEmpty(extraHeaders)){ extraHeaders.forEach(outboundRequest::addHeader); } - /* If we need to add user and groups to outbound request */ if(shouldIncludePrincipalAndGroups) { Map groups = addPrincipalAndGroups();