Author: jbq
Date: Wed Feb 28 09:32:42 2007
New Revision: 512861

URL: http://svn.apache.org/viewvc?view=rev&rev=512861
Log:
WICKET-327 Download link does not set Content-Type and Content-Length headers

headers must be written before the body

Modified:
    
incubator/wicket/branches/wicket-1.x/wicket/src/main/java/wicket/markup/html/link/DownloadLink.java
    
incubator/wicket/branches/wicket-1.x/wicket/src/main/java/wicket/protocol/http/request/WebExternalResourceRequestTarget.java

Modified: 
incubator/wicket/branches/wicket-1.x/wicket/src/main/java/wicket/markup/html/link/DownloadLink.java
URL: 
http://svn.apache.org/viewvc/incubator/wicket/branches/wicket-1.x/wicket/src/main/java/wicket/markup/html/link/DownloadLink.java?view=diff&rev=512861&r1=512860&r2=512861
==============================================================================
--- 
incubator/wicket/branches/wicket-1.x/wicket/src/main/java/wicket/markup/html/link/DownloadLink.java
 (original)
+++ 
incubator/wicket/branches/wicket-1.x/wicket/src/main/java/wicket/markup/html/link/DownloadLink.java
 Wed Feb 28 09:32:42 2007
@@ -115,9 +115,11 @@
 
                                try
                                {
-                                       r.write(new FileInputStream(file));
+                                       // NOTE headers must be written before 
the body
                                        r.setContentLength(file.length());
+                                       // Set content type
                                        r.detectContentType(requestCycle, 
fileName);
+                                       r.write(new FileInputStream(file));
                                }
                                catch (Exception e)
                                {

Modified: 
incubator/wicket/branches/wicket-1.x/wicket/src/main/java/wicket/protocol/http/request/WebExternalResourceRequestTarget.java
URL: 
http://svn.apache.org/viewvc/incubator/wicket/branches/wicket-1.x/wicket/src/main/java/wicket/protocol/http/request/WebExternalResourceRequestTarget.java?view=diff&rev=512861&r1=512860&r2=512861
==============================================================================
--- 
incubator/wicket/branches/wicket-1.x/wicket/src/main/java/wicket/protocol/http/request/WebExternalResourceRequestTarget.java
 (original)
+++ 
incubator/wicket/branches/wicket-1.x/wicket/src/main/java/wicket/protocol/http/request/WebExternalResourceRequestTarget.java
 Wed Feb 28 09:32:42 2007
@@ -83,10 +83,11 @@
                        final InputStream in = context.getResourceAsStream(url);
                        if (in != null)
                        {
-                               webResponse.write(in);
+                               // NOTE headers must be written before the body
                                // Set content type
                                webResponse.detectContentType(requestCycle, 
url);
                                // FIXME do we need to call 
webResponse.setContentLength()?
+                               webResponse.write(in);
                        }
                        else
                        {


Reply via email to