Author: jdumay
Date: Wed Jul  2 21:07:35 2008
New Revision: 673578

URL: http://svn.apache.org/viewvc?rev=673578&view=rev
Log:
MRM-858 - last-modified header is missing

Modified:
    
archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/maven/archiva/webdav/ArchivaDavResourceFactory.java
    
archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/test/java/org/apache/maven/archiva/webdav/RepositoryServletNoProxyTest.java

Modified: 
archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/maven/archiva/webdav/ArchivaDavResourceFactory.java
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/maven/archiva/webdav/ArchivaDavResourceFactory.java?rev=673578&r1=673577&r2=673578&view=diff
==============================================================================
--- 
archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/maven/archiva/webdav/ArchivaDavResourceFactory.java
 (original)
+++ 
archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/maven/archiva/webdav/ArchivaDavResourceFactory.java
 Wed Jul  2 21:07:35 2008
@@ -242,7 +242,7 @@
                     }
                     else
                     {
-                        setHeaders( locator, response );
+                        setHeaders(response, locator, resource );
 
                         // compatibility with MRM-440 to ensure browsing the 
repository works ok
                         if ( resource.isCollection() && 
!request.getRequestURI().endsWith("/" ) )
@@ -556,7 +556,7 @@
         this.auditListeners.remove( listener );
     }
 
-    private void setHeaders( DavResourceLocator locator, DavServletResponse 
response )
+    private void setHeaders( DavServletResponse response, DavResourceLocator 
locator, DavResource resource )
     {
         // [MRM-503] - Metadata file need Pragma:no-cache response
         // header.
@@ -566,6 +566,9 @@
             response.addHeader( "Cache-Control", "no-cache" );
         }
 
+        //We need to specify this so connecting wagons can work correctly
+        response.addDateHeader("last-modified", 
resource.getModificationTime());
+        
         // TODO: [MRM-524] determine http caching options for other types of 
files (artifacts, sha1, md5, snapshots)
     }
 

Modified: 
archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/test/java/org/apache/maven/archiva/webdav/RepositoryServletNoProxyTest.java
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/test/java/org/apache/maven/archiva/webdav/RepositoryServletNoProxyTest.java?rev=673578&r1=673577&r2=673578&view=diff
==============================================================================
--- 
archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/test/java/org/apache/maven/archiva/webdav/RepositoryServletNoProxyTest.java
 (original)
+++ 
archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/test/java/org/apache/maven/archiva/webdav/RepositoryServletNoProxyTest.java
 Wed Jul  2 21:07:35 2008
@@ -35,6 +35,22 @@
 public class RepositoryServletNoProxyTest
     extends AbstractRepositoryServletTestCase
 {
+    public void testLastModifiedHeaderExists()
+        throws Exception
+    {
+        String commonsLangSha1 = 
"commons-lang/commons-lang/2.1/commons-lang-2.1.jar.sha1";
+
+        File checksumFile = new File( repoRootInternal, commonsLangSha1 );
+        checksumFile.getParentFile().mkdirs();
+
+        FileUtils.writeStringToFile( checksumFile, "dummy-checksum", null );
+
+        WebRequest request = new GetMethodWebRequest( 
"http://machine.com/repository/internal/"; + commonsLangSha1 );
+        WebResponse response = sc.getResponse( request );
+        
+        assertNotNull(response.getHeaderField("last-modified"));
+    }
+    
     public void testGetNoProxyChecksumDefaultLayout()
         throws Exception
     {


Reply via email to