Package hudson.util

Class PluginServletFilter

java.lang.Object
hudson.util.PluginServletFilter
All Implemented Interfaces:
ExtensionPoint, javax.servlet.Filter

public final class PluginServletFilter extends Object implements javax.servlet.Filter, ExtensionPoint
Servlet Filter that chains multiple Filters, provided by plugins

While this class by itself is not an extension point, I'm marking this class as an extension point so that this class will be more discoverable.

SecurityRealm that wants to contribute Filters should first check if SecurityRealm.createFilter(FilterConfig) is more appropriate.

See Also:
  • Constructor Details

    • PluginServletFilter

      public PluginServletFilter()
  • Method Details

    • init

      public void init(javax.servlet.FilterConfig config) throws javax.servlet.ServletException
      Specified by:
      init in interface javax.servlet.Filter
      Throws:
      javax.servlet.ServletException
    • addFilter

      public static void addFilter(javax.servlet.Filter filter) throws javax.servlet.ServletException
      Dynamically register a new filter. May be paired with removeFilter(javax.servlet.Filter).

      For most purposes you can instead use HttpServletFilter.

      Throws:
      javax.servlet.ServletException
    • hasFilter

      public static boolean hasFilter(javax.servlet.Filter filter)
      Checks whether the given filter is already registered in the chain.
      Parameters:
      filter - the filter to check.
      Returns:
      true if the filter is already registered in the chain.
      Since:
      2.94
    • removeFilter

      public static void removeFilter(javax.servlet.Filter filter) throws javax.servlet.ServletException
      Throws:
      javax.servlet.ServletException
    • 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
    • destroy

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

      @Restricted(org.kohsuke.accmod.restrictions.NoExternalUse.class) public static void cleanUp()