You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@archiva.apache.org by br...@apache.org on 2006/09/30 15:51:38 UTC
svn commit: r451600 - in /maven/archiva/trunk/archiva-webapp/src/main:
java/org/apache/maven/archiva/web/action/ProxyAction.java resources/xwork.xml
Author: brett
Date: Sat Sep 30 06:51:38 2006
New Revision: 451600
URL: http://svn.apache.org/viewvc?view=rev&rev=451600
Log:
[MRM-165] add HTTP headers
Modified:
maven/archiva/trunk/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/ProxyAction.java
maven/archiva/trunk/archiva-webapp/src/main/resources/xwork.xml
Modified: maven/archiva/trunk/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/ProxyAction.java
URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/ProxyAction.java?view=diff&rev=451600&r1=451599&r2=451600
==============================================================================
--- maven/archiva/trunk/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/ProxyAction.java (original)
+++ maven/archiva/trunk/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/ProxyAction.java Sat Sep 30 06:51:38 2006
@@ -26,6 +26,10 @@
import java.io.FileNotFoundException;
import java.io.InputStream;
+import com.opensymphony.webwork.interceptor.ServletResponseAware;
+
+import javax.servlet.http.HttpServletResponse;
+
/**
* Proxy functionality.
*
@@ -33,6 +37,7 @@
*/
public class ProxyAction
extends PlexusActionSupport
+ implements ServletResponseAware
{
/**
* @plexus.requirement
@@ -49,6 +54,10 @@
private InputStream artifactStream;
+ private long contentLength;
+
+ private HttpServletResponse httpServletResponse;
+
public String execute()
throws ProxyException
{
@@ -62,6 +71,10 @@
contentType = "application/octet-stream";
filename = file.getName();
+
+ contentLength = file.length();
+
+ httpServletResponse.addDateHeader( "Last-Modified", file.lastModified() );
}
catch ( ResourceDoesNotExistException e )
{
@@ -99,8 +112,18 @@
return contentType;
}
+ public long getContentLength()
+ {
+ return contentLength;
+ }
+
public InputStream getArtifactStream()
{
return artifactStream;
+ }
+
+ public void setServletResponse( HttpServletResponse httpServletResponse )
+ {
+ this.httpServletResponse = httpServletResponse;
}
}
Modified: maven/archiva/trunk/archiva-webapp/src/main/resources/xwork.xml
URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-webapp/src/main/resources/xwork.xml?view=diff&rev=451600&r1=451599&r2=451600
==============================================================================
--- maven/archiva/trunk/archiva-webapp/src/main/resources/xwork.xml (original)
+++ maven/archiva/trunk/archiva-webapp/src/main/resources/xwork.xml Sat Sep 30 06:51:38 2006
@@ -176,6 +176,7 @@
<param name="contentDisposition">filename="${filename}"</param>
<param name="inputName">artifactStream</param>
<param name="bufferSize">1024</param>
+ <param name="contentLength">${contentLength}</param>
</result>
<result name="notFound" type="httpheader">404</result>
</action>