MRM-867 - 500 on HTTP HEAD

git-svn-id: https://svn.apache.org/repos/asf/archiva/trunk@674698 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
James William Dumay 2008-07-08 01:28:19 +00:00
parent 1d5a1c02e2
commit c74f7ea2b9
2 changed files with 22 additions and 16 deletions

View File

@ -183,14 +183,17 @@ public long getModificationTime()
public void spool( OutputContext outputContext )
throws IOException
{
if ( !isCollection() )
if ( !isCollection())
{
outputContext.setContentLength( localResource.length() );
outputContext.setContentType( mimeTypes.getMimeType( localResource.getName() ) );
}
if ( !isCollection() && outputContext.hasStream() )
{
FileInputStream is = null;
try
{
outputContext.setContentLength( localResource.length() );
outputContext.setContentType( mimeTypes.getMimeType( localResource.getName() ) );
// Write content to stream
is = new FileInputStream( localResource );
IOUtils.copy( is, outputContext.getOutputStream() );
@ -200,7 +203,7 @@ public void spool( OutputContext outputContext )
IOUtils.closeQuietly( is );
}
}
else
else if (outputContext.hasStream())
{
IndexWriter writer = new IndexWriter( this, localResource, logicalResource );
writer.write( outputContext );

View File

@ -94,19 +94,22 @@ public ArchivaVirtualDavResource( List<File> localResources, String logicalResou
public void spool( OutputContext outputContext )
throws IOException
{
Collections.sort( localResources );
List<File> localResourceFiles = new ArrayList<File>();
for ( File resourceFile : localResources )
if (outputContext.hasStream())
{
if ( resourceFile.exists() )
{
localResourceFiles.add( resourceFile );
}
}
Collections.sort( localResources );
List<File> localResourceFiles = new ArrayList<File>();
IndexWriter writer = new IndexWriter( this, localResourceFiles, logicalResource );
writer.write( outputContext );
for ( File resourceFile : localResources )
{
if ( resourceFile.exists() )
{
localResourceFiles.add( resourceFile );
}
}
IndexWriter writer = new IndexWriter( this, localResourceFiles, logicalResource );
writer.write( outputContext );
}
}
public void addLockManager( LockManager arg0 )