You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by pe...@apache.org on 2010/09/01 23:00:44 UTC
svn commit: r991704 -
/wicket/trunk/wicket/src/main/java/org/apache/wicket/request/resource/PackageResource.java
Author: pete
Date: Wed Sep 1 21:00:44 2010
New Revision: 991704
URL: http://svn.apache.org/viewvc?rev=991704&view=rev
Log:
for previous commit, fixed wrong order for checking if resource was found, added more comments + final's
Modified:
wicket/trunk/wicket/src/main/java/org/apache/wicket/request/resource/PackageResource.java
Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/request/resource/PackageResource.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/request/resource/PackageResource.java?rev=991704&r1=991703&r2=991704&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/request/resource/PackageResource.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/request/resource/PackageResource.java Wed Sep 1 21:00:44 2010
@@ -19,8 +19,6 @@ package org.apache.wicket.request.resour
import java.io.IOException;
import java.util.Locale;
-import javax.servlet.http.HttpServletResponse;
-
import org.apache.wicket.ThreadContext;
import org.apache.wicket.WicketRuntimeException;
import org.apache.wicket.markup.html.IPackageResourceGuard;
@@ -174,23 +172,29 @@ public class PackageResource extends Abs
@Override
protected ResourceResponse newResourceResponse(Attributes attributes)
{
- ResourceResponse resourceResponse = new ResourceResponse();
+ final ResourceResponse resourceResponse = new ResourceResponse();
if (resourceResponse.dataNeedsToBeWritten(attributes))
{
- IResourceStream resourceStream = getResourceStream();
+ // get resource stream
+ final IResourceStream resourceStream = getResourceStream();
+
+ // bail out if resource stream could not be found
+ if (resourceStream == null)
+ return sendResourceError(resourceResponse, 404, "Unable to find resource");
+
+ // set Content-Type (may be null)
resourceResponse.setContentType(resourceStream.getContentType());
+ // add Last-Modified header (to support HEAD requests and If-Modified-Since)
final Time lastModified = resourceStream.lastModifiedTime();
-
+
if(lastModified != null)
resourceResponse.setLastModified(lastModified.toDate());
- if (resourceStream == null)
- return sendResourceError(resourceResponse, HttpServletResponse.SC_NOT_FOUND, "Unable to find resource");
-
try
{
+ // read resource data
final byte[] bytes;
try
@@ -201,7 +205,11 @@ public class PackageResource extends Abs
{
resourceStream.close();
}
+
+ // send Content-Length header
resourceResponse.setContentLength(bytes.length);
+
+ // send response body with resource data
resourceResponse.setWriteCallback(new WriteCallback()
{
@Override