Hi,
I wanted to improve ServletWebResponse#encodeRedirectUrl() for
https://issues.apache.org/jira/browse/WICKET-4854 as we did for
#encodeUrl() in https://issues.apache.org/jira/browse/WICKET-4645 but I
face a problem that SWR#sendRedirect() is being called in a context where
the RequestCycle is already detached (i.e. RequestCycle.get() returns null).
The related code is:
WicketFilter#process()
RequestCycle requestCycle = application.createRequestCycle(webRequest,
webResponse);
if (!requestCycle.processRequestAndDetach())
{
if (chain != null)
{
chain.doFilter(request, response);
}
res = false;
}
else
{
webResponse.flush();
}
The call to #flush() leads to #sendRedirect().
I can workaround the problem by creating a new UrlRenderer to be able to
render full and relative urls without using
RequestCycle.get().getUrlRenderer() but I'm not sure whether this is the
right way. Is it OK to use the WebResponse after detaching the RequestCycle
as we do now ?
--
Martin Grigorov
jWeekend
Training, Consulting, Development
http://jWeekend.com <http://jweekend.com/>