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/10/13 20:59:37 UTC
svn commit: r1022239 - in
/wicket/trunk/wicket/src/main/java/org/apache/wicket:
protocol/http/HeaderBufferingWebResponse.java
request/handler/render/WebPageRenderer.java
Author: mgrigorov
Date: Wed Oct 13 18:59:37 2010
New Revision: 1022239
URL: http://svn.apache.org/viewvc?rev=1022239&view=rev
Log:
WICKET-3101 No exceptionpage on exceptions during ajax
Allow HeaderBufferingWebResponse#reset() to actually reset the undelying buffer ignoring whether there is something already in or not.
This way now it is possible to call #sendRedirect() after writing some bytes in the buffer.
reviewed-by: ivaynberg
Modified:
wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/HeaderBufferingWebResponse.java
wicket/trunk/wicket/src/main/java/org/apache/wicket/request/handler/render/WebPageRenderer.java
Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/HeaderBufferingWebResponse.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/HeaderBufferingWebResponse.java?rev=1022239&r1=1022238&r2=1022239&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/HeaderBufferingWebResponse.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/HeaderBufferingWebResponse.java Wed Oct 13 18:59:37 2010
@@ -173,7 +173,7 @@ class HeaderBufferingWebResponse extends
{
throw new IllegalStateException("Response has already been flushed!");
}
- checkHeader();
bufferedResponse.reset();
+ bufferedWritten = false;
}
}
Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/request/handler/render/WebPageRenderer.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/request/handler/render/WebPageRenderer.java?rev=1022239&r1=1022238&r2=1022239&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/request/handler/render/WebPageRenderer.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/request/handler/render/WebPageRenderer.java Wed Oct 13 18:59:37 2010
@@ -159,6 +159,7 @@ public class WebPageRenderer extends Pag
{
WebResponse response = (WebResponse)requestCycle.getResponse();
String relativeUrl = requestCycle.getUrlRenderer().renderUrl(url);
+ response.reset();
response.sendRedirect(relativeUrl);
}
@@ -185,12 +186,10 @@ public class WebPageRenderer extends Pag
// if there is saved response for this URL render it
bufferedResponse.writeTo((WebResponse)requestCycle.getResponse());
}
- else if (getRedirectPolicy() == RedirectPolicy.NEVER_REDIRECT ||
- isOnePassRender() //
+ else if (getRedirectPolicy() == RedirectPolicy.NEVER_REDIRECT || isOnePassRender() //
||
(targetUrl.equals(currentUrl) && !getPageProvider().isNewPageInstance() && !getPage().isPageStateless()) //
- ||
- (targetUrl.equals(currentUrl) && isRedirectToRender()))
+ || (targetUrl.equals(currentUrl) && isRedirectToRender()))
{
// if the policy is never to redirect
// or one pass render mode is on