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

liubao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/servicecomb-java-chassis.git


The following commit(s) were added to refs/heads/master by this push:
     new 2e21994ea [#3784]fix HttpUtils cannot correctly resolve file names 
(#3801)
2e21994ea is described below

commit 2e21994eaf0dda60fe7302c5241f4e9ab45c3002
Author: david6969xin <[email protected]>
AuthorDate: Thu May 25 09:36:52 2023 +0800

    [#3784]fix HttpUtils cannot correctly resolve file names (#3801)
---
 .../foundation/common/http/HttpUtils.java          |  5 ++--
 .../foundation/common/http/TestHttpUtils.java      | 30 ++++++++--------------
 2 files changed, 13 insertions(+), 22 deletions(-)

diff --git 
a/foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/http/HttpUtils.java
 
b/foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/http/HttpUtils.java
index 4793be59b..626cb1360 100644
--- 
a/foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/http/HttpUtils.java
+++ 
b/foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/http/HttpUtils.java
@@ -43,9 +43,8 @@ public final class HttpUtils {
       if (idx == -1) {
         continue;
       }
-
-      if (paramName.equalsIgnoreCase(value.substring(0, idx))) {
-        return value.substring(idx + 1);
+      if (paramName.equalsIgnoreCase(value.substring(0, idx).trim())) {
+        return value.substring(idx + 1).replaceAll("\"", "").trim();
       }
     }
     return null;
diff --git 
a/foundations/foundation-common/src/test/java/org/apache/servicecomb/foundation/common/http/TestHttpUtils.java
 
b/foundations/foundation-common/src/test/java/org/apache/servicecomb/foundation/common/http/TestHttpUtils.java
index 0c56a9785..760af80e6 100644
--- 
a/foundations/foundation-common/src/test/java/org/apache/servicecomb/foundation/common/http/TestHttpUtils.java
+++ 
b/foundations/foundation-common/src/test/java/org/apache/servicecomb/foundation/common/http/TestHttpUtils.java
@@ -27,32 +27,24 @@ public class TestHttpUtils {
 
   @Test
   public void parseParamFromHeaderValue_normal() {
-    Assertions.assertEquals("v", HttpUtils.parseParamFromHeaderValue("xx;k=v", 
"k"));
-  }
-
-  @Test
-  public void parseParamFromHeaderValue_normal_ignoreCase() {
-    Assertions.assertEquals("v", HttpUtils.parseParamFromHeaderValue("xx;K=v", 
"k"));
+    Assertions.assertEquals("a", 
HttpUtils.parseParamFromHeaderValue("key1=a;key2=b", "key1"));
+    Assertions.assertEquals("b", 
HttpUtils.parseParamFromHeaderValue("key1=a;key2= b", "key2"));
+    Assertions.assertEquals("b", HttpUtils.parseParamFromHeaderValue("key1=a; 
key2=b", "key2"));
+    Assertions.assertEquals("a", 
HttpUtils.parseParamFromHeaderValue("key1=\"a\";key2=\"b\"", "key1"));
+    Assertions.assertEquals("b", 
HttpUtils.parseParamFromHeaderValue("key1=\"a\";key2=\" b\"", "key2"));
+    Assertions.assertEquals("b", 
HttpUtils.parseParamFromHeaderValue("key1=\"a\"; key2=\"b\"", "key2"));
+    Assertions.assertEquals("b c.txt", 
HttpUtils.parseParamFromHeaderValue("key1=\"a\"; key2=\"b c.txt\"", "key2"));
   }
 
   @Test
   public void parseParamFromHeaderValue_null() {
-    Assertions.assertNull(HttpUtils.parseParamFromHeaderValue(null, "k"));
-  }
-
-  @Test
-  public void parseParamFromHeaderValue_noKv() {
-    Assertions.assertNull(HttpUtils.parseParamFromHeaderValue("xx", "k"));
-  }
-
-  @Test
-  public void parseParamFromHeaderValue_noV() {
-    Assertions.assertEquals("", HttpUtils.parseParamFromHeaderValue("xx;k=", 
"k"));
+    Assertions.assertNull(HttpUtils.parseParamFromHeaderValue(null, "key"));
+    Assertions.assertNull(HttpUtils.parseParamFromHeaderValue("key1=a; 
key2=b", "key"));
   }
 
   @Test
-  public void parseParamFromHeaderValue_keyNotFound() {
-    Assertions.assertNull(HttpUtils.parseParamFromHeaderValue("xx;k=", "kk"));
+  public void parseParamFromHeaderValue_emptyStr() {
+    Assertions.assertEquals("", HttpUtils.parseParamFromHeaderValue("key1=a; 
key2=", "key2"));
   }
 
   @Test

Reply via email to