Correct.
On Wed, Jul 3, 2013 at 10:29 AM, Sven Meier <s...@meiers.net> wrote: > Yes, WebPageRenderer renders the page into a BufferedWebResponse. But > after that it writes it into the response of the RequestCycle: > > response.writeTo((WebResponse)**requestCycle.getResponse()); > By default REDIRECT_TO_BUFFER strategy is used so all this happens in the second http request cycle. But for all other cases in WebPageRenderer you are right. > > That's the point of no return. > > By default the RequestCycle's response is a ServletWebResponse nested in a > HeaderBufferingWebResponse. So only headers are buffered until the first > content is written. > > ServletWebResponse#flush() just forwards to > HttpServletResponse#**flushBuffer(), > no buffering involved there. > Yep. No buffering by Wicket, but still the flush is needed for the buffering done by the servlet container. > > Sven > > > > On 07/03/2013 09:19 AM, Martin Grigorov wrote: > >> On Wed, Jul 3, 2013 at 10:02 AM, Sven Meier <s...@meiers.net> wrote: >> >> HttpServletResponse has no data to push until the very end of the >>> >>>> request cycle. >>>> >>>> That's not quite right: >>> As soon as WebPageRenderer writes the buffered page into the real >>> response, Tomcat has something to flush. If it does flush (for whatever >>> reason), any additional header set >>> >> >> Can you paste the code that does this in WebPageRenderer ? >> >> AFAIK org.apache.wicket.protocol.**http.servlet.** >> ServletWebResponse#flush() >> makes the transfer from the BufferedWebResponse to HttpServletResponse. >> >> >> in #onEndRequest() might be ignored. >>> >>> Sven >>> >>> >>> >>> On 07/03/2013 03:52 AM, Martin Grigorov wrote: >>> >>> Hi, >>>> >>>> org.apache.wicket.markup.html.****WebPage#configureResponse() is a good >>>> >>>> place >>>> for this. >>>> >>>> Wicket buffers the response so Tomcat cannot flush it no matter the >>>> size. >>>> I.e. the HttpServletResponse has no data to push until the very end of >>>> the >>>> request cycle. >>>> >>>> >>>> On Tue, Jul 2, 2013 at 5:07 PM, Martin Funk <mafulaf...@gmail.com> >>>> wrote: >>>> >>>> Hi there, >>>> >>>>> what is the best place to set http response state? >>>>> >>>>> I was trying the 'onSomething' callback methods in >>>>> IRequestCycleListener >>>>> Like onEndRequest >>>>> >>>>> But sometimes those get ignored >>>>> >>>>> The last save place I figured was onAfterRender in the page class, but >>>>> this >>>>> doesn't feel right. >>>>> >>>>> The reason that calls like: >>>>> ((HttpServletResponse) >>>>> RequestCycle.get().****getResponse().****getContainerResponse()).** >>>>> >>>>> setStatus(404); >>>>> in the RequestCycle Listner are ignored seems to be that the underlying >>>>> container, Tomcat 6.0.37 in our case, starts to flush the outputstream >>>>> as >>>>> the Response becomes big, as in maybe 20k. >>>>> >>>>> If the response is small enoug the status, can be set in the >>>>> 'onDetach()' >>>>> >>>>> Anyone any ideas? >>>>> >>>>> Martin >>>>> >>>>> >>>>> ------------------------------****----------------------------** >>> --**--------- >>> To unsubscribe, e-mail: >>> users-unsubscribe@wicket.**apa**che.org<http://apache.org> >>> <users-unsubscribe@**wicket.apache.org<users-unsubscr...@wicket.apache.org> >>> > >>> >>> For additional commands, e-mail: users-h...@wicket.apache.org >>> >>> >>> > > ------------------------------**------------------------------**--------- > To unsubscribe, e-mail: > users-unsubscribe@wicket.**apache.org<users-unsubscr...@wicket.apache.org> > For additional commands, e-mail: users-h...@wicket.apache.org > >