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();