mirror of https://github.com/apache/archiva.git
[MRM-165] add HTTP headers
git-svn-id: https://svn.apache.org/repos/asf/maven/archiva/trunk@451600 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
2fcc81f5c8
commit
8fe4a8ab7b
|
@ -26,6 +26,10 @@ import java.io.FileInputStream;
|
|||
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 @@ import java.io.InputStream;
|
|||
*/
|
||||
public class ProxyAction
|
||||
extends PlexusActionSupport
|
||||
implements ServletResponseAware
|
||||
{
|
||||
/**
|
||||
* @plexus.requirement
|
||||
|
@ -49,6 +54,10 @@ public class ProxyAction
|
|||
|
||||
private InputStream artifactStream;
|
||||
|
||||
private long contentLength;
|
||||
|
||||
private HttpServletResponse httpServletResponse;
|
||||
|
||||
public String execute()
|
||||
throws ProxyException
|
||||
{
|
||||
|
@ -62,6 +71,10 @@ public class ProxyAction
|
|||
contentType = "application/octet-stream";
|
||||
|
||||
filename = file.getName();
|
||||
|
||||
contentLength = file.length();
|
||||
|
||||
httpServletResponse.addDateHeader( "Last-Modified", file.lastModified() );
|
||||
}
|
||||
catch ( ResourceDoesNotExistException e )
|
||||
{
|
||||
|
@ -99,8 +112,18 @@ public class ProxyAction
|
|||
return contentType;
|
||||
}
|
||||
|
||||
public long getContentLength()
|
||||
{
|
||||
return contentLength;
|
||||
}
|
||||
|
||||
public InputStream getArtifactStream()
|
||||
{
|
||||
return artifactStream;
|
||||
}
|
||||
|
||||
public void setServletResponse( HttpServletResponse httpServletResponse )
|
||||
{
|
||||
this.httpServletResponse = httpServletResponse;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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>
|
||||
|
|
Loading…
Reference in New Issue