org.apache.catalina.valves

Class RequestFilterValve

public abstract class RequestFilterValve extends ValveBase

Implementation of a Valve 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 a set of regular expressions configured for this Valve.

This valve is configured by setting the allow and/or deny properties to a comma-delimited list of regular expressions (in the syntax supported by the jakarta-regexp library) to which the appropriate request property will be compared. Evaluation proceeds as follows:

This Valve may be attached to any Container, depending on the granularity of the filtering you wish to perform.

Version: $Revision: 467222 $ $Date: 2006-10-24 05:17:11 +0200 (Tue, 24 Oct 2006) $

Author: Craig R. McClanahan

Field Summary
protected Stringallow
The comma-delimited set of allow expressions.
protected Pattern[]allows
The set of allow regular expressions we will evaluate.
protected Pattern[]denies
The set of deny regular expressions we will evaluate.
protected Stringdeny
The comma-delimited set of deny expressions.
protected static StringManagersm
The StringManager for this package.
Method Summary
StringgetAllow()
Return a comma-delimited set of the allow expressions configured for this Valve, if any; otherwise, return null.
StringgetDeny()
Return a comma-delimited set of the deny expressions configured for this Valve, if any; otherwise, return null.
StringgetInfo()
Return descriptive information about this Valve implementation.
abstract voidinvoke(Request request, Response response)
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.
protected Pattern[]precalculate(String list)
Return an array of regular expression objects initialized from the specified argument, which must be null or a comma-delimited list of regular expression patterns.
protected voidprocess(String property, Request request, Response response)
Perform the filtering that has been configured for this Valve, matching against the specified request property.
voidsetAllow(String allow)
Set the comma-delimited set of the allow expressions configured for this Valve, if any.
voidsetDeny(String deny)
Set the comma-delimited set of the deny expressions configured for this Valve, if any.

Field Detail

allow

protected String allow
The comma-delimited set of allow expressions.

allows

protected Pattern[] allows
The set of allow regular expressions we will evaluate.

denies

protected Pattern[] denies
The set of deny regular expressions we will evaluate.

deny

protected String deny
The comma-delimited set of deny expressions.

sm

protected static StringManager sm
The StringManager for this package.

Method Detail

getAllow

public String getAllow()
Return a comma-delimited set of the allow expressions configured for this Valve, if any; otherwise, return null.

getDeny

public String getDeny()
Return a comma-delimited set of the deny expressions configured for this Valve, if any; otherwise, return null.

getInfo

public String getInfo()
Return descriptive information about this Valve implementation.

invoke

public abstract void invoke(Request request, Response response)
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.

Parameters: request The servlet request to be processed response The servlet response to be created

Throws: IOException if an input/output error occurs ServletException if a servlet error occurs

precalculate

protected Pattern[] precalculate(String list)
Return an array of regular expression objects initialized from the specified argument, which must be null or a comma-delimited list of regular expression patterns.

Parameters: list The comma-separated list of patterns

Throws: IllegalArgumentException if one of the patterns has invalid syntax

process

protected void process(String property, Request request, Response response)
Perform the filtering that has been configured for this Valve, 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

setAllow

public void setAllow(String allow)
Set the comma-delimited set of the allow expressions configured for this Valve, if any.

Parameters: allow The new set of allow expressions

setDeny

public void setDeny(String deny)
Set the comma-delimited set of the deny expressions configured for this Valve, if any.

Parameters: deny The new set of deny expressions

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