[ 
http://jira.magnolia-cms.com/browse/MAGNOLIA-2472?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=19743#action_19743
 ] 

Jan Haderka commented on MAGNOLIA-2472:
---------------------------------------

It would need backporting all the changes done for MAGNOLIA-2387
- filter and filterChain
- TemplateRenderers
- WebContext
- tags (Include)

It can be done if necessary, but I would rather not. 
There are new methods introduced in the public API ({{MgnlContext}}) and 
changes to existing API ({{RequestAttributeStrategy}}).
Plus the effort to test on all major platforms to make sure that everything is 
all right in the backport as well.

On top of all that, the use case presented here is IMHO invalid. You should not 
redirect from within paragraphs. If you redirect from Filter or from page 
template you should not be seeing this issue even on 3.6

> GZip Filter throws IllegalStateException when performing a redirect
> -------------------------------------------------------------------
>
>                 Key: MAGNOLIA-2472
>                 URL: http://jira.magnolia-cms.com/browse/MAGNOLIA-2472
>             Project: Magnolia
>          Issue Type: Bug
>          Components: cache
>    Affects Versions: 3.6.3
>         Environment: WinXP, JDK 1.5
>            Reporter: Jackson Nicolas
>            Assignee: Jan Haderka
>             Fix For: 4.0
>
>
> I have a paragraph using Freemarker and an action paragraph class.
> I've recently decided to add a page redirect. I do attempt the page
> redirect by accessing response object via WebContext. Everything works
> fine until the redirect is actually performed.
> Please note: The redirect works fine when I disable the GZip Filter.
> My Code:
> WebContext ctx = null;
> if(MgnlContext.getInstance() instanceof WebContext)
>        ctx = (WebContext)MgnlContext.getInstance();
> if(ctx != null) {
>        try {
>                HttpServletResponse response = (HttpServletResponse) 
> ctx.getResponse();
>                if (!response.isCommitted()) {
>                        response.reset();
>                        response.sendRedirect(MgnlContext.getContextPath() +
> ContentUtil.getContentByUUID(ContentRepository.WEBSITE,
> redirectPage).getHandle() + "." +
> ServerConfiguration.getInstance().getDefaultExtension());
>                }
>        } catch (IOException ioe) {
>                //TODO: handling
>        }
> }
> The error:
> java.lang.IllegalStateException: Failure when attempting to set
> response header Content-Encoding: gzip
>        
> info.magnolia.cms.util.RequestHeaderUtil.addAndVerifyHeader(RequestHeaderUtil.java:66)
>        
> info.magnolia.module.cache.filter.GZipFilter.doFilter(GZipFilter.java:101)
>        
> info.magnolia.cms.filters.OncePerRequestAbstractMgnlFilter.doFilter(OncePerRequestAbstractMgnlFilter.java:62)
>        
> info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:71)
>        
> info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:73)
>        
> info.magnolia.cms.filters.CosMultipartRequestFilter.doFilter(CosMultipartRequestFilter.java:84)
>        
> info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:71)
>        
> info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:71)
>        
> info.magnolia.cms.security.BaseSecurityFilter.doFilter(BaseSecurityFilter.java:61)
>        
> info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:71)
>        
> info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:71)
>        info.magnolia.cms.security.LogoutFilter.doFilter(LogoutFilter.java:81)
>        
> info.magnolia.cms.filters.OncePerRequestAbstractMgnlFilter.doFilter(OncePerRequestAbstractMgnlFilter.java:62)
>        
> info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:71)
>        
> info.magnolia.cms.security.auth.login.LoginFilter.doFilter(LoginFilter.java:76)
>        
> info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:71)
>        
> info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:71)
>        
> info.magnolia.cms.filters.ContentTypeFilter.doFilter(ContentTypeFilter.java:80)
>        
> info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:71)
>        
> info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:71)
>        info.magnolia.cms.filters.ContextFilter.doFilter(ContextFilter.java:72)
>        
> info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:71)
>        
> info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:71)
>        
> info.magnolia.cms.filters.CompositeFilter.doFilter(CompositeFilter.java:64)
>        
> info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:71)
>        
> info.magnolia.cms.filters.MgnlMainFilter.doFilter(MgnlMainFilter.java:97)
>        
> info.magnolia.cms.filters.MgnlMainFilter.doFilter(MgnlMainFilter.java:200)

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://jira.magnolia-cms.com/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

----------------------------------------------------------------
For list details see
http://www.magnolia-cms.com/home/community/mailing-lists.html
To unsubscribe, E-mail to: <[EMAIL PROTECTED]>
----------------------------------------------------------------

Reply via email to