Return-Path: X-Original-To: apmail-wicket-commits-archive@www.apache.org Delivered-To: apmail-wicket-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id EE568DC0F for ; Wed, 14 Nov 2012 15:54:15 +0000 (UTC) Received: (qmail 44335 invoked by uid 500); 14 Nov 2012 15:54:15 -0000 Delivered-To: apmail-wicket-commits-archive@wicket.apache.org Received: (qmail 43694 invoked by uid 500); 14 Nov 2012 15:54:14 -0000 Mailing-List: contact commits-help@wicket.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@wicket.apache.org Delivered-To: mailing list commits@wicket.apache.org Received: (qmail 43647 invoked by uid 99); 14 Nov 2012 15:54:13 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 14 Nov 2012 15:54:13 +0000 Date: Wed, 14 Nov 2012 15:54:13 +0000 (UTC) From: "Jan Riehn (JIRA)" To: commits@wicket.apache.org Message-ID: <1600801437.114178.1352908453826.JavaMail.jiratomcat@arcas> In-Reply-To: <1165913701.23158.1330358449144.JavaMail.tomcat@hel.zones.apache.org> Subject: [jira] [Commented] (WICKET-4433) Exception (Header was already written to response!) when setting response page in IRequestCycleListener MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/WICKET-4433?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13497171#comment-13497171 ] Jan Riehn commented on WICKET-4433: ----------------------------------- Hello, Martins solution does not really fix the problem. The first request is scheduled and executed, might be that the RestartResponseException should avoid this. The following snippet fits better: public class MyRequestCycleListener extends AbstractRequestCycleListener { @Override public void onRequestHandlerResolved(RequestCycle cycle, IRequestHandler handler) { if (handler instanceof IPageRequestHandler) { if (condition) { throw new RedirectToUrlException("http://wicket.apache.org/"); } } } } Best regards, Jan > Exception (Header was already written to response!) when setting response page in IRequestCycleListener > ------------------------------------------------------------------------------------------------------- > > Key: WICKET-4433 > URL: https://issues.apache.org/jira/browse/WICKET-4433 > Project: Wicket > Issue Type: Bug > Affects Versions: 1.5.4 > Reporter: Neil Curzon > Attachments: myproject.zip, myproject.zip > > > We have an IRequestCycleListener implementation that's basically: > @Override > public void onBeginRequest(RequestCycle cycle) { > if ()) { > cycle.setResponsePage(SpecificPage.class); > } > } > This results in an exception when the condition is true, and the response page is set: > java.lang.IllegalStateException: Header was already written to response! > at org.apache.wicket.protocol.http.HeaderBufferingWebResponse.checkHeader(HeaderBufferingWebResponse.java:64) > at org.apache.wicket.protocol.http.HeaderBufferingWebResponse.setDateHeader(HeaderBufferingWebResponse.java:134) > at org.apache.wicket.protocol.http.BufferedWebResponse$SetDateHeaderAction.invoke(BufferedWebResponse.java:310) > at org.apache.wicket.protocol.http.BufferedWebResponse.writeTo(BufferedWebResponse.java:580) > at org.apache.wicket.request.handler.render.WebPageRenderer.respond(WebPageRenderer.java:185) > at org.apache.wicket.request.handler.RenderPageRequestHandler.respond(RenderPageRequestHandler.java:167) > at org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:781) > at org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:64) > at org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:304) > at org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:313) -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira