You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cocoon.apache.org by "Alexander Klimetschek (JIRA)" <ji...@apache.org> on 2007/06/11 11:32:26 UTC
[jira] Updated: (COCOON-1964) Redirects inside a block called via
the blocks protocol fail
[ https://issues.apache.org/jira/browse/COCOON-1964?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Alexander Klimetschek updated COCOON-1964:
------------------------------------------
Priority: Critical (was: Major)
Just to remind everyone: doing a redirect inside a called block and seeing it to fail is very critical IMHO. Should be fixed before 2.2 final.
Maybe a clean solution would be to implement BlockCallHttpResponse.sendRedirect() that forwards the redirect to the original request object.
> Redirects inside a block called via the blocks protocol fail
> ------------------------------------------------------------
>
> Key: COCOON-1964
> URL: https://issues.apache.org/jira/browse/COCOON-1964
> Project: Cocoon
> Issue Type: Bug
> Components: - Servlet service framework
> Affects Versions: 2.2-dev (Current SVN)
> Reporter: Alexander Klimetschek
> Priority: Critical
> Attachments: cocoon-allow-redirect-in-called-block.patch
>
>
> If you do a redirect (from within a piece of flowscript "cocoon.redirectTo('cocoon:/foobar')" or via redirect-to in the sitemap) inside a block that was called via the block: protocol will fail since the re-use of the outputstream of the response (which happens to be a BlockCallHttpServletResponse) does not work.
> This is due to the use of getWriter() after getOutputStream() has already been called. The servlet api says that only one of them should be called, so there is a check in the implementation of getWriter() that will throw an IllegalStateException. The patch removes that check, which is kinda hack, but I don't know of any other cases within cocoon where such a re-use is made.
> The problem could be avoided if during the redirect a reset() or resetBuffer() would be called on the response, but for some reason this does not happen with a redirect from within a flowscript for a form.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.