This is an automated email from the ASF dual-hosted git repository.

peacewong pushed a commit to branch dev-1.3.2
in repository https://gitbox.apache.org/repos/asf/incubator-linkis.git


The following commit(s) were added to refs/heads/dev-1.3.2 by this push:
     new 24d00b821 [Bug] put to Map and use builder to build in finally (#3844)
24d00b821 is described below

commit 24d00b821e0c85ee4368e48c2c1276ee473ed104
Author: 人生有如两个橘子 <[email protected]>
AuthorDate: Fri Nov 18 19:24:20 2022 +0800

    [Bug] put to Map and use builder to build in finally (#3844)
---
 .../linkis/gateway/springcloud/http/GatewayAuthorizationFilter.java  | 5 +++++
 .../gateway/springcloud/http/SpringCloudGatewayHttpRequest.scala     | 5 ++++-
 2 files changed, 9 insertions(+), 1 deletion(-)

diff --git 
a/linkis-spring-cloud-services/linkis-service-gateway/linkis-spring-cloud-gateway/src/main/java/org/apache/linkis/gateway/springcloud/http/GatewayAuthorizationFilter.java
 
b/linkis-spring-cloud-services/linkis-service-gateway/linkis-spring-cloud-gateway/src/main/java/org/apache/linkis/gateway/springcloud/http/GatewayAuthorizationFilter.java
index 107a71375..a3bfa01cf 100644
--- 
a/linkis-spring-cloud-services/linkis-service-gateway/linkis-spring-cloud-gateway/src/main/java/org/apache/linkis/gateway/springcloud/http/GatewayAuthorizationFilter.java
+++ 
b/linkis-spring-cloud-services/linkis-service-gateway/linkis-spring-cloud-gateway/src/main/java/org/apache/linkis/gateway/springcloud/http/GatewayAuthorizationFilter.java
@@ -217,6 +217,11 @@ public class GatewayAuthorizationFilter implements 
GlobalFilter, Ordered {
                 ((SpringCloudGatewayHttpRequest) 
gatewayContext.getRequest()).getAddCookies());
           });
     }
+    if (!((SpringCloudGatewayHttpRequest) 
gatewayContext.getRequest()).getAddHeaders().isEmpty()) {
+      ((SpringCloudGatewayHttpRequest) gatewayContext.getRequest())
+          .getAddHeaders()
+          .forEach(builder::header);
+    }
     return chain.filter(exchange.mutate().request(builder.build()).build());
   }
 
diff --git 
a/linkis-spring-cloud-services/linkis-service-gateway/linkis-spring-cloud-gateway/src/main/scala/org/apache/linkis/gateway/springcloud/http/SpringCloudGatewayHttpRequest.scala
 
b/linkis-spring-cloud-services/linkis-service-gateway/linkis-spring-cloud-gateway/src/main/scala/org/apache/linkis/gateway/springcloud/http/SpringCloudGatewayHttpRequest.scala
index 3d93d02ea..b4f8eee47 100644
--- 
a/linkis-spring-cloud-services/linkis-service-gateway/linkis-spring-cloud-gateway/src/main/scala/org/apache/linkis/gateway/springcloud/http/SpringCloudGatewayHttpRequest.scala
+++ 
b/linkis-spring-cloud-services/linkis-service-gateway/linkis-spring-cloud-gateway/src/main/scala/org/apache/linkis/gateway/springcloud/http/SpringCloudGatewayHttpRequest.scala
@@ -66,6 +66,7 @@ class SpringCloudGatewayHttpRequest(request: 
AbstractServerHttpRequest) extends
   }
 
   private val addCookies = new JMap[String, Array[Cookie]]
+  private val addHeaders = new JMap[String, Array[String]]
 
   private var requestBody: String = _
   private var requestURI: String = _
@@ -84,7 +85,7 @@ class SpringCloudGatewayHttpRequest(request: 
AbstractServerHttpRequest) extends
   override def getHeaders: JMap[String, Array[String]] = headers
 
   override def addHeader(headerName: String, headers: Array[String]): Unit =
-    request.getHeaders.addAll(headerName, headers.toList.asJava)
+    addHeaders.put(headerName, headers)
 
   override def addCookie(cookieName: String, cookies: Array[Cookie]): Unit = {
     this.cookies.put(cookieName, cookies)
@@ -93,6 +94,8 @@ class SpringCloudGatewayHttpRequest(request: 
AbstractServerHttpRequest) extends
 
   def getAddCookies: JMap[String, Array[Cookie]] = addCookies
 
+  def getAddHeaders: JMap[String, Array[String]] = addHeaders
+
   override def getQueryParams: JMap[String, Array[String]] = queryParams
 
   override def getCookies: JMap[String, Array[Cookie]] = cookies


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to