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