44

Citrix NetScaler Policy Configuration and Reference Guide

This prefix extracts URLs in HTTP requests. This expression prefix does not require any operators to be used in an expression. However, when you configure an expression that processes HTTP request URLs, you can specify operations that analyze particular characteristics of the URL. Following are a few possibilities:

Search for a particular host name in the URL.

Search for a particular path in the URL.

Evaluate the length of the URL.

Search for a string in the URL that indicates a time stamp and convert it to GMT.

The following is an example of a prefix that identifies an HTTP header named Server and an operation that searches for the string IIS in the header value:

http.res.header("Server").contains("IIS")

Following is an example of a prefix that identifies host names and an operation that searches for the string www.mycompany.com as the value of the name:

http.req.hostname.eq("www.mycompany.com")

Basic Operations on Expression Prefixes

The following table describes a few of the basic operations that can be performed on expression prefixes:

Basic Operations for Expressions

Operation

Determines whether or not

 

 

CONTAINS(<string

The object matches <string>. Following is an example:

>)

http.req.header("Cache-Control").contains("no-

 

 

cache")

EXISTS

A particular item is present in an object. Following is an example:

 

http.res.header("MyHdr").exists

EQ(<text>)

A particular non-numeric value is present in an object. Following

 

is an example:

 

http.req.method.eq(post)

EQ(<integer>)

A particular numeric value is present in an object. Following is an

 

example:

 

client.ip.dst.eq(10.100.10.100)

LT(<integer>)

An object's value is less than a particular value. Following is an

 

example:

 

http.req.content_length.lt(5000)

Page 58
Image 58
Citrix Systems 9.2 manual Basic Operations on Expression Prefixes, Basic Operations for Expressions