Hi all,

We've been using an IRequestCycleListener in order to redirect to a certain
page for all requests if certain conditions are met. We're finding that
it's giving an exception in 1.5.4:

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)

basically in our IRequestCycleListener we have

@Override
public void onBeginRequest(RequestCycle cycle) {
if (<condition>)) {
cycle.setResponsePage(SpecificPage.class);
}
}

Is this the wrong way to do it? Or is this behavior expected? If it's not
expected, I will file a bug for this.

Thanks,
Neil

Reply via email to