Apache Tomcat 7.0.37

org.apache.catalina.filters
Class RequestFilter

java.lang.Object
  extended by org.apache.catalina.filters.FilterBase
      extended by org.apache.catalina.filters.RequestFilter
All Implemented Interfaces:
Filter, CometFilter
Direct Known Subclasses:
RemoteAddrFilter, RemoteHostFilter

public abstract class RequestFilter
extends FilterBase
implements CometFilter

Implementation of a Filter that performs filtering based on comparing the appropriate request property (selected based on which subclass you choose to configure into your Container's pipeline) against the regular expressions configured for this Filter.

This filter is configured by setting the allow and/or deny properties to a regular expressions (in the syntax supported by Pattern) to which the appropriate request property will be compared. Evaluation proceeds as follows:


Field Summary
protected  Pattern allow
          The regular expression used to test for allowed requests.
protected  Pattern deny
          The regular expression used to test for denied requests.
protected  int denyStatus
          The HTTP response status code that is used when rejecting denied request.
 
Fields inherited from class org.apache.catalina.filters.FilterBase
sm
 
Constructor Summary
RequestFilter()
           
 
Method Summary
abstract  void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
          Extract the desired request property, and pass it (along with the specified request and response objects) to the protected process() method to perform the actual filtering.
 String getAllow()
          Return the regular expression used to test for allowed requests for this Filter, if any; otherwise, return null.
 String getDeny()
          Return the regular expression used to test for denied requests for this Filter, if any; otherwise, return null.
 int getDenyStatus()
          Return response status code that is used to reject denied request.
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.
protected  void process(String property, ServletRequest request, ServletResponse response, FilterChain chain)
          Perform the filtering that has been configured for this Filter, matching against the specified request property.
protected  void processCometEvent(String property, CometEvent event, CometFilterChain chain)
          Perform the filtering that has been configured for this Filter, matching against the specified request property.
 void setAllow(String allow)
          Set the regular expression used to test for allowed requests for this Filter, if any.
 void setDeny(String deny)
          Set the regular expression used to test for denied requests for this Filter, if any.
 void setDenyStatus(int denyStatus)
          Set response status code that is used to reject denied request.
 
Methods inherited from class org.apache.catalina.filters.FilterBase
destroy, getLogger, init
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.apache.catalina.comet.CometFilter
doFilterEvent
 
Methods inherited from interface javax.servlet.Filter
destroy, init
 

Field Detail

allow

protected Pattern allow
The regular expression used to test for allowed requests.


deny

protected Pattern deny
The regular expression used to test for denied requests.


denyStatus

protected int denyStatus
The HTTP response status code that is used when rejecting denied request. It is 403 by default, but may be changed to be 404.

Constructor Detail

RequestFilter

public RequestFilter()
Method Detail

getAllow

public String getAllow()
Return the regular expression used to test for allowed requests for this Filter, if any; otherwise, return null.


setAllow

public void setAllow(String allow)
Set the regular expression used to test for allowed requests for this Filter, if any.

Parameters:
allow - The new allow expression

getDeny

public String getDeny()
Return the regular expression used to test for denied requests for this Filter, if any; otherwise, return null.


setDeny

public void setDeny(String deny)
Set the regular expression used to test for denied requests for this Filter, if any.

Parameters:
deny - The new deny expression

getDenyStatus

public int getDenyStatus()
Return response status code that is used to reject denied request.


setDenyStatus

public void setDenyStatus(int denyStatus)
Set response status code that is used to reject denied request.


doFilter

public abstract void doFilter(ServletRequest request,
                              ServletResponse response,
                              FilterChain chain)
                       throws IOException,
                              ServletException
Extract the desired request property, and pass it (along with the specified request and response objects) to the protected process() method to perform the actual filtering. This method must be implemented by a concrete subclass.

Specified by:
doFilter in interface Filter
Parameters:
request - The servlet request to be processed
response - The servlet response to be created
chain - The filter chain
Throws:
IOException - if an input/output error occurs
ServletException - if a servlet error occurs

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

process

protected void process(String property,
                       ServletRequest request,
                       ServletResponse response,
                       FilterChain chain)
                throws IOException,
                       ServletException
Perform the filtering that has been configured for this Filter, matching against the specified request property.

Parameters:
property - The request property on which to filter
request - The servlet request to be processed
response - The servlet response to be processed
Throws:
IOException - if an input/output error occurs
ServletException - if a servlet error occurs

processCometEvent

protected void processCometEvent(String property,
                                 CometEvent event,
                                 CometFilterChain chain)
                          throws IOException,
                                 ServletException
Perform the filtering that has been configured for this Filter, matching against the specified request property.

Parameters:
property - The property to check against the allow/deny rules
event - The comet event to be filtered
chain - The comet filter chain
Throws:
IOException - if an input/output error occurs
ServletException - if a servlet error occurs

Apache Tomcat 7.0.37

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