Chapter 4

Advanced Expressions: Evaluating Text

65

In the preceding examples, the contains operator permits a partial match and the eq operator looks for an exact match.

Other operations are available to format the string before evaluating it, for example, to strip out quotes and white spaces, to convert the string to all lowercase, or to concatenate strings.

Note: Complex operations are available to perform matching based on patterns or to convert one type of text format to another type. For more information, see “Advanced Expressions: String Sets, String Patterns, and Data Formats,” on page 157.

Compounding and Precedence in Text

Expressions

You can apply various operators to combine text prefixes or expressions. For example, the following expression concatenates the returned values of each prefix:

http.req.hostname + http.req.url

Following expression is an example of forming a compound text expression that uses a logical AND. In this example, both components of the expression must be TRUE for a request to match the expression:

http.req.method.eq(post) && http.req.body(1024). startswith("destination=")

Note: For more information on operators for compounding, see “Compound Advanced Expressions,” on page 45.

Categories of Text Expressions

The primary categories of text expressions that you can configure are:

Information in HTTP headers, HTTP URLs, and the POST body in HTTP requests.

For more information, see “Expression Prefixes for Text in HTTP Requests and Responses,” on page 67.

Information regarding a VPN or a clientless VPN.

For more information, see “Expression Prefixes for VPNs and Clientless VPNs,” on page 76.

TCP payload information.

Page 79
Image 79
Citrix Systems 9.2 manual Compounding and Precedence in Text Expressions, Categories of Text Expressions