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

rombert pushed a commit to branch master
in repository 
https://gitbox.apache.org/repos/asf/sling-org-apache-sling-startupfilter.git

commit cc0cc6892e29893c830b6bb621a1616113cc1d35
Author: Carsten Ziegeler <[email protected]>
AuthorDate: Wed Oct 12 14:49:27 2016 +0000

    SLING-6141 : StartupFilter should use servlet path and request info
    
    git-svn-id: https://svn.apache.org/repos/asf/sling/trunk@1764477 
13f79535-47bb-0310-9956-ffa450edef68
---
 .../org/apache/sling/startupfilter/impl/StartupFilterImpl.java     | 7 ++++---
 .../org/apache/sling/startupfilter/impl/StartupFilterImplTest.java | 7 +++----
 2 files changed, 7 insertions(+), 7 deletions(-)

diff --git 
a/src/main/java/org/apache/sling/startupfilter/impl/StartupFilterImpl.java 
b/src/main/java/org/apache/sling/startupfilter/impl/StartupFilterImpl.java
index d0b367d..f6e126c 100644
--- a/src/main/java/org/apache/sling/startupfilter/impl/StartupFilterImpl.java
+++ b/src/main/java/org/apache/sling/startupfilter/impl/StartupFilterImpl.java
@@ -100,9 +100,10 @@ public class StartupFilterImpl implements StartupFilter, 
Filter {
 
         // Bypass for the managerRoot path
         if(request instanceof HttpServletRequest) {
-            final String pathInfo = 
((HttpServletRequest)request).getPathInfo();
-            if(managerRoot != null && managerRoot.length() > 0 && pathInfo != 
null && pathInfo.startsWith(managerRoot)) {
-                log.debug("Bypassing filter for path {} which starts with {}", 
pathInfo, managerRoot);
+            final HttpServletRequest req = (HttpServletRequest)request;
+            final String path = req.getServletPath() + (req.getPathInfo() == 
null ? "" : req.getPathInfo());
+            if (managerRoot != null && managerRoot.length() > 0 && 
path.startsWith(managerRoot)) {
+                log.debug("Bypassing filter for path {} which starts with {}", 
path, managerRoot);
                 chain.doFilter(request, sr);
                 return;
             }
diff --git 
a/src/test/java/org/apache/sling/startupfilter/impl/StartupFilterImplTest.java 
b/src/test/java/org/apache/sling/startupfilter/impl/StartupFilterImplTest.java
index 7745cad..58d7f6c 100644
--- 
a/src/test/java/org/apache/sling/startupfilter/impl/StartupFilterImplTest.java
+++ 
b/src/test/java/org/apache/sling/startupfilter/impl/StartupFilterImplTest.java
@@ -202,6 +202,9 @@ public class StartupFilterImplTest {
             allowing(serviceRegistration).unregister();
             will(new ChangeInteger(activeFilterCount, false));
 
+            allowing(request).getServletPath();
+            will(returnValue(""));
+
             allowing(request).getPathInfo();
             will(returnValue(getPathInfo()));
 
@@ -211,10 +214,6 @@ public class StartupFilterImplTest {
         filter.setup(bundleContext, props);
     }
 
-    private String getRequestPath() {
-        return requestPath;
-    }
-
     private String getPathInfo() {
         return pathInfo;
     }

-- 
To stop receiving notification emails like this one, please contact
"[email protected]" <[email protected]>.

Reply via email to