wicket-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Sven Meier <s...@meiers.net>
Subject Re: Save place to set http response status?
Date Wed, 03 Jul 2013 07:02:19 GMT
> 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 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 <mafulafunk@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.apache.org
For additional commands, e-mail: users-help@wicket.apache.org


Mime
View raw message