You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by jd...@apache.org on 2009/04/12 22:08:47 UTC
svn commit: r764318 -
/wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/WicketServlet.java
Author: jdonnerstag
Date: Sun Apr 12 20:08:46 2009
New Revision: 764318
URL: http://svn.apache.org/viewvc?rev=764318&view=rev
Log:
fixed WICKET-2185 WicketServlet fallback() code should ignore query string params when resolving resources.
Issue: WICKET-2185
Modified:
wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/WicketServlet.java
Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/WicketServlet.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/WicketServlet.java?rev=764318&r1=764317&r2=764318&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/WicketServlet.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/WicketServlet.java Sun Apr 12 20:08:46 2009
@@ -29,6 +29,7 @@
import org.apache.wicket.protocol.http.servlet.ServletWebRequest;
import org.apache.wicket.util.io.Streams;
+import org.apache.wicket.util.string.Strings;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -165,18 +166,20 @@
private void fallback(HttpServletRequest request, HttpServletResponse response)
throws IOException
{
-
- // The ServletWebRequest is created here to avoid code duplication. The getURL
- // call doesn't depend on anything wicket specific
+ // The ServletWebRequest is created here to avoid code duplication. The getURL call doesn't
+ // depend on anything wicket specific
ServletWebRequest req = new ServletWebRequest(request);
String url = req.getURL();
- // Get the relative URL we need for loading the resource from
- // the servlet context
- // NOTE: we NEED to put the '/' in front as otherwise some versions
- // of application servers (e.g. Jetty 5.1.x) will fail for requests
- // like '/mysubdir/myfile.css'
+ // WICKET-2185: strip of query string
+ if (url.indexOf('?') != -1)
+ {
+ url = Strings.beforeFirst(url, '?');
+ }
+ // Get the relative URL we need for loading the resource from the servlet context
+ // NOTE: we NEED to put the '/' in front as otherwise some versions of application servers
+ // (e.g. Jetty 5.1.x) will fail for requests like '/mysubdir/myfile.css'
if ((url.length() > 0 && url.charAt(0) != '/') || url.length() == 0)
{
url = '/' + url;
@@ -185,7 +188,6 @@
InputStream stream = getServletContext().getResourceAsStream(url);
String mimeType = getServletContext().getMimeType(url);
-
if (stream == null)
{
response.sendError(HttpServletResponse.SC_NOT_FOUND);
@@ -193,7 +195,9 @@
else
{
if (mimeType != null)
+ {
response.setContentType(mimeType);
+ }
Streams.copy(stream, response.getOutputStream());
}