Redirects inside a block called via the blocks protocol fail
------------------------------------------------------------

                 Key: COCOON-1964
                 URL: http://issues.apache.org/jira/browse/COCOON-1964
             Project: Cocoon
          Issue Type: Bug
          Components: - Blocks Framework
    Affects Versions: 2.2-dev (Current SVN)
            Reporter: Alexander Klimetschek


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.
-
If you think it was sent incorrectly contact one of the administrators: 
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to