Class IncludeExcludeBasedFilter

java.lang.Object
org.eclipse.jetty.ee10.servlets.IncludeExcludeBasedFilter
All Implemented Interfaces:
jakarta.servlet.Filter
Direct Known Subclasses:
HeaderFilter

public abstract class IncludeExcludeBasedFilter extends Object implements jakarta.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(jakarta.servlet.ServletRequest, jakarta.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