You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by mg...@apache.org on 2010/09/09 21:33:56 UTC
svn commit: r995555 - in
/wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http:
WebApplication.java WicketFilter.java
Author: mgrigorov
Date: Thu Sep 9 19:33:56 2010
New Revision: 995555
URL: http://svn.apache.org/viewvc?rev=995555&view=rev
Log:
WICKET-3038 Return the possibility to create custom WebRequest/WebResponse per Application
Return back WebApplication#newWebResponse() as in 1.4.
There is an API change though - now it needs the HttpServletRequest as well.
Modified:
wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/WebApplication.java
wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/WicketFilter.java
Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/WebApplication.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/WebApplication.java?rev=995555&r1=995554&r2=995555&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/WebApplication.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/WebApplication.java Thu Sep 9 19:33:56 2010
@@ -22,6 +22,7 @@ import java.util.concurrent.ConcurrentHa
import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.apache.wicket.Application;
@@ -36,6 +37,7 @@ import org.apache.wicket.markup.html.pag
import org.apache.wicket.markup.html.pages.PageExpiredErrorPage;
import org.apache.wicket.markup.resolver.AutoLinkResolver;
import org.apache.wicket.protocol.http.servlet.ServletWebRequest;
+import org.apache.wicket.protocol.http.servlet.ServletWebResponse;
import org.apache.wicket.request.IRequestHandler;
import org.apache.wicket.request.IRequestMapper;
import org.apache.wicket.request.Request;
@@ -45,6 +47,7 @@ import org.apache.wicket.request.handler
import org.apache.wicket.request.handler.render.PageRenderer;
import org.apache.wicket.request.handler.render.WebPageRenderer;
import org.apache.wicket.request.http.WebRequest;
+import org.apache.wicket.request.http.WebResponse;
import org.apache.wicket.request.mapper.MountedMapper;
import org.apache.wicket.request.resource.ResourceReference;
import org.apache.wicket.session.HttpSessionStore;
@@ -366,6 +369,22 @@ public abstract class WebApplication ext
}
/**
+ * Creates a WebResponse. Subclasses of WebRequest could e.g. encode wicket's default URL and
+ * hide the details from the user. A appropriate WebRequest must be implemented and configured
+ * to decode the encoded URL.
+ *
+ * @param httpServletRequest
+ * @param httpServletResponse
+ * @return a WebResponse object
+ */
+ protected WebResponse newWebResponse(final HttpServletRequest httpServletRequest,
+ final HttpServletResponse httpServletResponse)
+ {
+ return new HeaderBufferingWebResponse(new ServletWebResponse(httpServletRequest,
+ httpServletResponse));
+ }
+
+ /**
* @see org.apache.wicket.Application#newSession(org.apache.wicket.request.Request,
* org.apache.wicket.request.Response)
*/
Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/WicketFilter.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/WicketFilter.java?rev=995555&r1=995554&r2=995555&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/WicketFilter.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/WicketFilter.java Thu Sep 9 19:33:56 2010
@@ -29,7 +29,6 @@ import javax.servlet.http.HttpServletRes
import org.apache.wicket.ThreadContext;
import org.apache.wicket.WicketRuntimeException;
-import org.apache.wicket.protocol.http.servlet.ServletWebResponse;
import org.apache.wicket.request.cycle.RequestCycle;
import org.apache.wicket.request.http.WebRequest;
import org.apache.wicket.request.http.WebResponse;
@@ -127,8 +126,8 @@ public class WicketFilter implements Fil
application.set();
WebRequest webRequest = application.newWebRequest(httpServletRequest, filterPath);
- WebResponse webResponse = new HeaderBufferingWebResponse(new ServletWebResponse(
- httpServletRequest, httpServletResponse));
+ WebResponse webResponse = application.newWebResponse(httpServletRequest,
+ httpServletResponse);
RequestCycle requestCycle = application.createRequestCycle(webRequest, webResponse);
if (!requestCycle.processRequestAndDetach())