[
https://issues.apache.org/jira/browse/COCOON-1964?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Reinhard Poetz updated COCOON-1964:
-----------------------------------
Summary: Redirects inside a block called via the servlet protocol fail
(was: Redirects inside a block called via the blocks protocol fail)
> Redirects inside a block called via the servlet 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.