MRM-858 - last-modified header is missing

git-svn-id: https://svn.apache.org/repos/asf/archiva/trunk@673578 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
James William Dumay 2008-07-03 04:07:35 +00:00
parent 209ad27647
commit e66053f72a
2 changed files with 21 additions and 2 deletions

View File

@ -242,7 +242,7 @@ public class ArchivaDavResourceFactory
}
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 @@ public class ArchivaDavResourceFactory
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 @@ public class ArchivaDavResourceFactory
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)
}

View File

@ -35,6 +35,22 @@ import java.io.File;
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
{