[ 
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.

Reply via email to