Uploaded image for project: 'Magnolia'
  1. Magnolia
  2. MAGNOLIA-2472

GZip Filter throws IllegalStateException when performing a redirect

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Duplicate
    • Icon: Major Major
    • 4.0
    • 3.6.3
    • cache
    • None
    • WinXP, JDK 1.5

      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)

        Acceptance criteria

              had Jan Haderka
              jacksonnicolas Jackson Nicolas
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

                Created:
                Updated:
                Resolved: