Sample usage
To understand the usage of pattern sets in expressions, consider the example of a pattern set named "imagetypes."
| Patterns | Index value |
|---|---|
| svg | 1 |
| bmp | 2 |
| png | 3 |
| gif | 4 |
| tiff | 5 |
| jpg | 6 |
Table 1. Pattern set "imagetypes"
Example 1: Determine whether the suffix of an HTTP request is one of the file extensions defined in the "imagetypes" pattern set.
-
Expression. HTTP.REQ.URL.SUFFIX.EQUALS_ANY("imagetypes")
-
Sample URL.
http://www.example.com/homepageicon.jpg -
Result. TRUE
Example 2: Determine whether the suffix of an HTTP request is one of the file extensions defined in the "imagetypes" pattern set, and return the index of that pattern.
-
Expression. HTTP.REQ.URL.SUFFIX.EQUALS_INDEX("imagetypes")
-
Sample URL.
http://www.example.com/mylogo.gif -
Result. 4 (The index value of the pattern "gif".)
Example 3: Use the index value of a pattern to determine whether the URL suffix is within a specified index-value range.
-
Expression. HTTP.REQ.URL.SUFFIX.EQUALS\_INDEX("imagetypes").GE(3) && HTTP.REQ.URL.SUFFIX.EQUALS_INDEX("imagetypes").LE(5)
-
Sample URL.
http://www.example.com/mylogo.gif -
Result. TRUE (The index value of gif file types is 4.)
Example 4: Implement one set of policies for file extensions bmp, jpg, and png, and a different set of policies for gif, tiff, and svg files.
An expression that returns the index of a matched pattern can be used to define traffic subsets for a web application. The following two expressions could be used in content switching policies for a content switching virtual server:
-
HTTP.REQ.URL.SUFFIX.EQUALS_INDEX("imagetypes").LE(3)
-
HTTP.REQ.URL.SUFFIX.EQUALS_INDEX("imagetypes").GE(4)