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