Author: jdumay
Date: Mon Jul  7 18:28:19 2008
New Revision: 674698

URL: http://svn.apache.org/viewvc?rev=674698&view=rev
Log:
MRM-867 - 500 on HTTP HEAD

Modified:
    
archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/maven/archiva/webdav/ArchivaDavResource.java
    
archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/maven/archiva/webdav/ArchivaVirtualDavResource.java

Modified: 
archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/maven/archiva/webdav/ArchivaDavResource.java
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/maven/archiva/webdav/ArchivaDavResource.java?rev=674698&r1=674697&r2=674698&view=diff
==============================================================================
--- 
archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/maven/archiva/webdav/ArchivaDavResource.java
 (original)
+++ 
archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/maven/archiva/webdav/ArchivaDavResource.java
 Mon Jul  7 18:28:19 2008
@@ -183,14 +183,17 @@
     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 @@
                 IOUtils.closeQuietly( is );
             }
         }
-        else
+        else if (outputContext.hasStream())
         {
             IndexWriter writer = new IndexWriter( this, localResource, 
logicalResource );
             writer.write( outputContext );

Modified: 
archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/maven/archiva/webdav/ArchivaVirtualDavResource.java
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/maven/archiva/webdav/ArchivaVirtualDavResource.java?rev=674698&r1=674697&r2=674698&view=diff
==============================================================================
--- 
archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/maven/archiva/webdav/ArchivaVirtualDavResource.java
 (original)
+++ 
archiva/trunk/archiva-modules/archiva-web/archiva-webdav/src/main/java/org/apache/maven/archiva/webdav/ArchivaVirtualDavResource.java
 Mon Jul  7 18:28:19 2008
@@ -94,19 +94,22 @@
     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() )
+            Collections.sort( localResources );
+            List<File> localResourceFiles = new ArrayList<File>();
+
+            for ( File resourceFile : localResources )
             {
-                localResourceFiles.add( resourceFile );
+                if ( resourceFile.exists() )
+                {
+                    localResourceFiles.add( resourceFile );
+                }
             }
-        }
 
-        IndexWriter writer = new IndexWriter( this, localResourceFiles, 
logicalResource );
-        writer.write( outputContext );
+            IndexWriter writer = new IndexWriter( this, localResourceFiles, 
logicalResource );
+            writer.write( outputContext );
+        }
     }
 
     public void addLockManager( LockManager arg0 )


Reply via email to