[
http://jira.magnolia-cms.com/browse/MAGNOLIA-2472?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jan Haderka resolved MAGNOLIA-2472.
-----------------------------------
Fix Version/s: 4.0
Resolution: Duplicate
The problem was caused by discrepancy between real response and one available
via WebContext. For details see MAGNOLIA-2387.
Also as mentioned by Philipp it is not advisable to make redirects from inside
of paragraphs, since paragraph can be rendered at any time during page
rendering process and response can be already committed at that time.
If necessary initiate this from pages using actions or from filters.
> 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]>
----------------------------------------------------------------