Class IncludeExcludeBasedFilter

  • All Implemented Interfaces:
    javax.servlet.Filter
    Direct Known Subclasses:
    HeaderFilter

    public abstract class IncludeExcludeBasedFilter
    extends java.lang.Object
    implements javax.servlet.Filter
    Include Exclude Based Filter

    This is an abstract filter which helps with filtering based on include/exclude of paths, mime types, and/or http methods.

    Use the shouldFilter(HttpServletRequest, HttpServletResponse) method to determine if a request/response should be filtered. If mime types are used, it should be called after FilterChain.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse) since the mime type may not be written until then. Supported init params:

    • includedPaths - CSV of path specs to include
    • excludedPaths - CSV of path specs to exclude
    • includedMimeTypes - CSV of mime types to include
    • excludedMimeTypes - CSV of mime types to exclude
    • includedHttpMethods - CSV of http methods to include
    • excludedHttpMethods - CSV of http methods to exclude

    Path spec rules:

    • If the spec starts with '^' the spec is assumed to be a regex based path spec and will match with normal Java regex rules.
    • If the spec starts with '/' the spec is assumed to be a Servlet url-pattern rules path spec for either an exact match or prefix based match.
    • If the spec starts with '*.' the spec is assumed to be a Servlet url-pattern rules path spec for a suffix based match.
    • All other syntaxes are unsupported.

    CSVs are parsed with StringUtil.csvSplit(String)

    See Also:
    PathSpecSet, IncludeExcludeSet
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void destroy()  
      protected java.lang.String guessMimeType​(javax.servlet.http.HttpServletRequest httpRequest, javax.servlet.http.HttpServletResponse httpResponse)  
      void init​(javax.servlet.FilterConfig filterConfig)  
      protected boolean shouldFilter​(javax.servlet.http.HttpServletRequest httpRequest, javax.servlet.http.HttpServletResponse httpResponse)  
      java.lang.String toString()  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
      • Methods inherited from interface javax.servlet.Filter

        doFilter
    • Constructor Detail

      • IncludeExcludeBasedFilter

        public IncludeExcludeBasedFilter()
    • 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
      • guessMimeType

        protected java.lang.String guessMimeType​(javax.servlet.http.HttpServletRequest httpRequest,
                                                 javax.servlet.http.HttpServletResponse httpResponse)
      • shouldFilter

        protected boolean shouldFilter​(javax.servlet.http.HttpServletRequest httpRequest,
                                       javax.servlet.http.HttpServletResponse httpResponse)
      • destroy

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

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object