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

mblow pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/asterixdb.git

commit 2525d512f3cc7b3c3e5fdbc0486632b4fac51507
Author: Ali Alsuliman <[email protected]>
AuthorDate: Mon Mar 15 12:38:27 2021 -0700

    [NO ISSUE][API] Decode request local path
    
    - user model changes: no
    - storage format changes: no
    - interface changes: no
    
    Details:
    Decode request local path.
    
    Change-Id: I28834cc239614baf6f3f1af6edfae33ca59f7a3d
    Reviewed-on: https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/10543
    Integration-Tests: Jenkins <[email protected]>
    Tested-by: Jenkins <[email protected]>
    Reviewed-by: Murtadha Hubail <[email protected]>
---
 .../java/org/apache/hyracks/http/server/AbstractServlet.java     | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git 
a/hyracks-fullstack/hyracks/hyracks-http/src/main/java/org/apache/hyracks/http/server/AbstractServlet.java
 
b/hyracks-fullstack/hyracks/hyracks-http/src/main/java/org/apache/hyracks/http/server/AbstractServlet.java
index 514a7dd..fa64003 100644
--- 
a/hyracks-fullstack/hyracks/hyracks-http/src/main/java/org/apache/hyracks/http/server/AbstractServlet.java
+++ 
b/hyracks-fullstack/hyracks/hyracks-http/src/main/java/org/apache/hyracks/http/server/AbstractServlet.java
@@ -22,6 +22,8 @@ import static 
com.fasterxml.jackson.databind.MapperFeature.SORT_PROPERTIES_ALPHA
 import static 
com.fasterxml.jackson.databind.SerializationFeature.ORDER_MAP_ENTRIES_BY_KEYS;
 
 import java.io.IOException;
+import java.io.UnsupportedEncodingException;
+import java.net.URLDecoder;
 import java.nio.charset.StandardCharsets;
 import java.util.Arrays;
 import java.util.concurrent.ConcurrentMap;
@@ -175,7 +177,12 @@ public abstract class AbstractServlet implements IServlet {
     public String localPath(IServletRequest request) {
         final String uri = request.getHttpRequest().uri();
         int queryStart = uri.indexOf('?');
-        return queryStart == -1 ? uri.substring(trim(uri)) : 
uri.substring(trim(uri), queryStart);
+        String localPath = queryStart == -1 ? uri.substring(trim(uri)) : 
uri.substring(trim(uri), queryStart);
+        try {
+            return URLDecoder.decode(localPath, StandardCharsets.UTF_8.name());
+        } catch (UnsupportedEncodingException e) {
+            throw new IllegalArgumentException(e);
+        }
     }
 
     public String servletPath(IServletRequest request) {

Reply via email to