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.
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: