Class PageCacheFilter

  • All Implemented Interfaces:
    javax.servlet.Filter

    public class PageCacheFilter
    extends Object
    implements javax.servlet.Filter
    A Filter which caches responses in form of an CachedResponse
    Author:
    Matthias Herlitzius, Matthias Müller
    • Field Detail

      • CACHE_HIT

        protected static final String CACHE_HIT
    • Constructor Detail

      • PageCacheFilter

        public PageCacheFilter()
    • Method Detail

      • init

        public void init​(javax.servlet.FilterConfig filterConfig)
                  throws javax.servlet.ServletException
        Specified by:
        init in interface javax.servlet.Filter
        Throws:
        javax.servlet.ServletException
      • destroy

        public void destroy()
        Specified by:
        destroy in interface javax.servlet.Filter
      • doFilter

        public void doFilter​(javax.servlet.ServletRequest request,
                             javax.servlet.ServletResponse response,
                             javax.servlet.FilterChain chain)
                      throws IOException,
                             javax.servlet.ServletException
        Specified by:
        doFilter in interface javax.servlet.Filter
        Throws:
        IOException
        javax.servlet.ServletException
      • handleCaching

        protected CachedResponse handleCaching​(javax.servlet.http.HttpServletRequest request,
                                               javax.servlet.http.HttpServletResponse response,
                                               Site site,
                                               javax.servlet.FilterChain chain,
                                               javax.cache.Cache<String,​CachedResponse> cache,
                                               javax.cache.expiry.ExpiryPolicy expiryPolicy)
                                        throws javax.servlet.ServletException,
                                               IOException
        Throws:
        javax.servlet.ServletException
        IOException
      • writeResponse

        protected void writeResponse​(javax.servlet.http.HttpServletRequest request,
                                     javax.servlet.http.HttpServletResponse response,
                                     CachedResponse pageInfo)
                              throws IOException
        Throws:
        IOException
      • getCachedResponse

        protected CachedResponse getCachedResponse​(javax.servlet.http.HttpServletRequest request,
                                                   javax.servlet.http.HttpServletResponse response,
                                                   javax.servlet.FilterChain chain,
                                                   Site site,
                                                   javax.cache.Cache<String,​CachedResponse> cache,
                                                   javax.cache.expiry.ExpiryPolicy expiryPolicy)
                                            throws javax.servlet.ServletException,
                                                   IOException
        Throws:
        javax.servlet.ServletException
        IOException
      • performRequest

        protected CachedResponse performRequest​(javax.servlet.http.HttpServletRequest request,
                                                javax.servlet.http.HttpServletResponse response,
                                                javax.servlet.FilterChain chain,
                                                Site site,
                                                javax.cache.expiry.ExpiryPolicy expiryPolicy)
                                         throws IOException,
                                                javax.servlet.ServletException
        Throws:
        IOException
        javax.servlet.ServletException
      • calculateKey

        protected String calculateKey​(javax.servlet.http.HttpServletRequest request)
      • acceptsGzipEncoding

        protected boolean acceptsGzipEncoding​(javax.servlet.http.HttpServletRequest request)