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
{