You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@archiva.apache.org by jo...@apache.org on 2007/11/08 16:59:34 UTC

svn commit: r593215 - /maven/archiva/trunk/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/repository/ProxiedDavServer.java

Author: joakime
Date: Thu Nov  8 07:59:34 2007
New Revision: 593215

URL: http://svn.apache.org/viewvc?rev=593215&view=rev
Log:
[MRM-440] If webdav URL lacks a trailing /, navigating to all links in the listing return 404.
Fixed by redirecting to proper url in the situation of a GET request on an existing directory.


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

Modified: maven/archiva/trunk/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/repository/ProxiedDavServer.java
URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/repository/ProxiedDavServer.java?rev=593215&r1=593214&r2=593215&view=diff
==============================================================================
--- maven/archiva/trunk/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/repository/ProxiedDavServer.java (original)
+++ maven/archiva/trunk/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/repository/ProxiedDavServer.java Thu Nov  8 07:59:34 2007
@@ -146,8 +146,15 @@
             // 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 );