org.apache.catalina.filters

## Class FailedRequestFilter

- java.lang.Object
- - org.apache.catalina.filters.FilterBase
  - - org.apache.catalina.filters.FailedRequestFilter

- All Implemented Interfaces:
    Filter, CometFilter

      public class FailedRequestFilter
      extends FilterBase
      implements CometFilter

  Filter that will reject requests if there was a failure during parameter parsing. This filter can be used to ensure that none parameter values submitted by client are lost.

  Note that it has side effect that it triggers parameter parsing and thus consumes the body for POST requests. Parameter parsing does check content type of the request, so there should not be problems with addresses that use `request.getInputStream()` and `request.getReader()`, if requests parsed by them do not use standard value for content mime-type.

- - ### Field Summary

    - ### Fields inherited from class org.apache.catalina.filters.FilterBase

      `sm`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `FailedRequestFilter()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `doFilter(ServletRequest request, ServletResponse response, FilterChain chain)` The `doFilter` method of the Filter is called by the container each time a request/response pair is passed through the chain due to a client request for a resource at the end of the chain.
    `void` | `doFilterEvent(CometEvent event, CometFilterChain chain)` The `doFilterEvent` method of the CometFilter is called by the container each time a request/response pair is passed through the chain due to a client event for a resource at the end of the chain.
    `protected Log` | `getLogger()`
    `protected boolean` | `isConfigProblemFatal()` Determines if an exception when calling a setter or an unknown configuration attribute triggers the failure of the this filter which in turn will prevent the web application from starting.

    - ### Methods inherited from class org.apache.catalina.filters.FilterBase

      `destroy, init`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from interface javax.servlet.Filter

      `destroy, init`

- - ### Constructor Detail

    - #### FailedRequestFilter

          public FailedRequestFilter()

  - ### Method Detail

    - #### getLogger

          protected Log getLogger()

      Specified by:
        `getLogger` in class `FilterBase`

    - #### doFilter

          public void doFilter(ServletRequest request,
                      ServletResponse response,
                      FilterChain chain)
                        throws IOException,
                               ServletException

      Description copied from interface: `javax.servlet.Filter`
      The `doFilter` method of the Filter is called by the container each time a request/response pair is passed through the chain due to a client request for a resource at the end of the chain. The FilterChain passed in to this method allows the Filter to pass on the request and response to the next entity in the chain.

      A typical implementation of this method would follow the following pattern:-
      1. Examine the request
      2. Optionally wrap the request object with a custom implementation to filter content or headers for input filtering
      3. Optionally wrap the response object with a custom implementation to filter content or headers for output filtering
      4. a) Either invoke the next entity in the chain using the FilterChain object (`chain.doFilter()`),
      4. b) or not pass on the request/response pair to the next entity in the filter chain to block the request processing
      5. Directly set headers on the response after invocation of the next entity in the filter chain.

      Specified by:
        `doFilter` in interface `Filter`
      Throws:
        `IOException`
        `ServletException`

    - #### doFilterEvent

          public void doFilterEvent(CometEvent event,
                           CometFilterChain chain)
                             throws IOException,
                                    ServletException

      Description copied from interface: `CometFilter`
      The `doFilterEvent` method of the CometFilter is called by the container each time a request/response pair is passed through the chain due to a client event for a resource at the end of the chain. The CometFilterChain passed in to this method allows the Filter to pass on the event to the next entity in the chain.

      A typical implementation of this method would follow the following pattern:-
      1. Examine the request
      2. Optionally wrap the request object contained in the event with a custom implementation to filter content or headers for input filtering and pass a CometEvent instance containing the wrapped request to the next filter
      3. Optionally wrap the response object contained in the event with a custom implementation to filter content or headers for output filtering and pass a CometEvent instance containing the wrapped request to the next filter
      4. a) Either invoke the next entity in the chain using the CometFilterChain object (`chain.doFilterEvent()`),
      4. b) or not pass on the request/response pair to the next entity in the filter chain to block the event processing
      5. Directly set fields on the response after invocation of the next entity in the filter chain.

      Specified by:
        `doFilterEvent` in interface `CometFilter`
      Parameters:
        `event` - the event that is being processed. Another event may be passed along the chain.
      Throws:
        `IOException`
        `ServletException`

    - #### isConfigProblemFatal

          protected boolean isConfigProblemFatal()

      Description copied from class: `FilterBase`
      Determines if an exception when calling a setter or an unknown configuration attribute triggers the failure of the this filter which in turn will prevent the web application from starting.
      Overrides:
        `isConfigProblemFatal` in class `FilterBase`
      Returns:
        `true` if a problem should trigger the failure of this filter, else `false`

Copyright © 2000-2017 Apache Software Foundation. All Rights Reserved.