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())