Class IncludeExcludeBasedFilter

  • All Implemented Interfaces:
    Filter
    Direct Known Subclasses:
    HeaderFilter

    public abstract class IncludeExcludeBasedFilter
    extends Object
    implements 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