]> source.dussan.org Git - archiva.git/commitdiff
[MRM-440] If webdav URL lacks a trailing /, navigating to all links in the listing...
authorJoakim Erdfelt <joakime@apache.org>
Thu, 8 Nov 2007 15:59:34 +0000 (15:59 +0000)
committerJoakim Erdfelt <joakime@apache.org>
Thu, 8 Nov 2007 15:59:34 +0000 (15:59 +0000)
Fixed by redirecting to proper url in the situation of a GET request on an existing directory.

git-svn-id: https://svn.apache.org/repos/asf/maven/archiva/trunk@593215 13f79535-47bb-0310-9956-ffa450edef68

archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/repository/ProxiedDavServer.java

index 9986526182fa0fea233c29ad5999b36b4f3d83da..69dca5d1aa4a0bd8fc0e86dc37f2420560ce1214 100644 (file)
@@ -146,8 +146,15 @@ public class ProxiedDavServer
             // If this a directory resource, then we are likely browsing.
             if ( resourceFile.exists() && resourceFile.isDirectory() )
             {
-                // TODO: [MRM-440] - If webdav URL lacks a trailing /, navigating to all links in the listing return 404.
-                // TODO: Issue redirect with proper pathing.
+                String requestURL = request.getRequest().getRequestURL().toString();
+                
+                // [MRM-440] - If webdav URL lacks a trailing /, navigating to all links in the listing return 404.
+                if( !requestURL.endsWith( "/" ) )
+                {
+                    String redirectToLocation = requestURL + "/";
+                    response.sendRedirect( redirectToLocation );
+                    return;
+                }
                 
                 // Process the request.
                 davServer.process( request, response );