SIP_FROM_HEADER_T
This object provides operations for parsing the SIP From header.
This topic lists the expressions that are provided by this class.
Note:Expressions with the *symbol are inherited/promoted from sip_header_t, sip_address_at.
* ADDRESS
Returns the SIP URI in the "To" or "From" header
Returns: sip_url_t
* AFTER_REGEX(re regex)
The AFTER_REGEX operator in this object overrides the Text
AFTER_REGEX operator to operate on all the instances of the current
header type. Selects the Text after the text that matches the input
regular expression in any instance of the header value. The order in
which the header instances will be matched is from the last to the
first.
For example:
SIP.REQ.HEADER("etag").AFTER_REGEX(re/KX/) will select "DAPPER" from "KXDAPPER".
Parameters(expressions not allowed):
regex -
Regular Expression
Returns: text_t
* AFTER_STR_ANY(text_tpatset_name)
Selects the Text that is present after the first occurrence
of any of the strings that are bound to the patset named by
the string argument. If there is no match to any of the strings
bound to the patset in the current Text object then the result
Text object has 0 length.
The patset cannot have strings longer than 255 characters.
Parameters(expressions not allowed):
patset_name -
Pattern Set Name
Returns: text_t
* AFTER_STR(text_ts)
The AFTER_STR operator in this object overrides the Text AFTER_STR
operator to operate on all the instances of the current header type.
Selects Text after the first occurrence of the input string
argument. The order in which the instances of the header are matched
is from the last instance to the first.
SIP/2.0 200 OK\r\n MyHdr: 111abc\r\n Content-Length: 200\r\n MyHdr: 111def\r\n \r\n
Examples: SIP.RES.HEADER("MyHdr").AFTER_STR("111") selects "def" in the
last instance of MyHdr, the one with value "111def". SIP.RES.HEADER("MyHdr").AFTER_STR("1ab") selects "c" in the first
instance of MyHdr, the one with value "abc111".
Parameters(expressions not allowed):
s -
String
Returns: text_t
* APPEND(bool_atb)
Appends the given boolean's string representation to the
current string.
Parameters:
b -
the boolean value to append.
Returns: text_t
* APPEND(double_ati)
Appends the given double's string representation to the current
string.
Parameters:
i -
the double value to append.
Returns: text_t
* APPEND(ip_address_ataddr)
Appends the given IPv4's string representation to the current string.
Parameters:
addr -
the IPv4 address to append.
Returns: text_t
* APPEND(num_ati)
Appends the given number's string representation to the current
string.
Parameters:
i -
the number value to append.
Returns: text_t
* APPEND(time_att)
Appends the given time's string representation to the current string.
Parameters:
t -
the time value to append.
Returns: text_t
* APPEND(unsigned_long_ati)
Appends the given unsigned long's string representation to the
current string.
Parameters:
i -
the unsigned long value to append.
Returns: text_t
* APPEND(ipv6_address_ataddr)
Appends the given IPv6's string representation to the current string.
Parameters:
addr -
the IPv6 address to append.
Returns: text_t
* APPEND(ipv6_subnet_ataddr)
Appends the given IPv6 subnet's string representation to the current string.
Parameters:
addr -
the IPv6 subnet to append.
Returns: text_t
* APPEND(mac_address_ataddr)
Appends the given MAC's string representation to the current string.
Parameters:
addr -
the MAC address to append.
Returns: text_t
* APPEND(text_tstr)
Appends the given string to the current string.
Parameters:
str -
the string to append.
Returns: text_t
* APPEND(time_att)
Appends the given time's string representation to the current string.
Parameters:
t -
the time value to append.
Returns: text_t
* B64DECODE
Decodes the selected text using base64 decoding.
For example, the string "TWFu" is converted to "Man"
Returns: text_t
* B64ENCODE
Encodes the selected text using base64 encoding.
For example, the string "Man" is converted to "TWFu"
Returns: text_t
* BEFORE_REGEX(re regex)
The BEFORE_REGEX operator in this object overrides the Text
BEFORE_REGEX operator to operate on all the instances of the current
header type. Selects the Text before the text that matches the input
regular expression in any instance of the header value. The order in
which the header instances will be matched is from the last to the
first.
For example:
SIP.RES.HEADER("content-type").BEFORE_REGEX(re#/#) will select "text" from "text/plain".
Parameters(expressions not allowed):
regex -
Regular Expression
Returns: text_t
* BEFORE_STR_ANY(text_tpatset_name)
Selects the Text that is present before the first occurrence
of any of the strings that are bound to the patset or
datasetnamed by the string argument.
If there is no match to any of the strings
bound to the patset in the current Text object then the result
Text object has 0 length.
The patset cannot have strings longer than 255 characters.
Parameters(expressions not allowed):
patset_name -
Pattern Set Name
Returns: text_t
* BEFORE_STR(text_ts)
The BEFORE_STR operator in this object overrides the Text BEFORE_STR
operator to operate on all the instances of the current header type.
Selects Text before the first occurrence of the input string
argument. The order in which the instances of the header are matched
is from the last instance to the first.
SIP/2.0 200 OK\r\n MyHdr: abc111\r\n Content-Length: 200\r\n MyHdr: def111\r\n \r\n
Examples: SIP.RES.HEADER("MyHdr").BEFORE_STR("111") selects "def" in the
last instance of MyHdr, the one with value "def111". SIP.RES.HEADER("MyHdr").BEFORE_STR("bc1") selects "a" in the first
instance of MyHdr, the one with value "abc111".
Parameters(expressions not allowed):
s -
String
Returns: text_t
* BETWEEN(text_tstart, text_tend)
Results in Boolean TRUE value if length of the Text object
is greater than or equal to the sum of the Start and End argument
lengths and if the prefix of the Text object
matches the Start string argument and if the Suffix of the Text
object matches the End string argument.
Parameters:
start -
Start
end -
End
Returns: bool_at
* BIN_DECODE(binary_encoding_eencoding)
Decode the encoded input into its original byte sequence. An incorrectly
enooded input will result in an Undef error.
Parameters(expressions not allowed):
encoding -
specifies how the bytes are encoded.
Returns: text_t
* BIN_ENCODE(binary_encoding_eencoding)
Encode the input byte sequence. Note that BIN_ENCODE(hex_colons) is
equivalent to BLOB_TO_HEX().
Parameters(expressions not allowed):
encoding -
specifies how the bytes are to be encoded.
Returns: text_t
* BLOB_TO_HEX
Convert to hexadecimal representation and select text.
For example, the byte string abc is converted to 61:62:63.
Returns: text_t
* COMPARE(text_ts)
Results in a Number Value which is the result of comparison of
the input argument with the Text object. The result is
greater than 0 if the Text object is lexicographically
greater than the argument. The result is 0 if the Text
object and the argument match. The result is less than 0 if
the Text object is lexicographically lesser than the argument.
Parameters:
s -
String
Returns: num_at
* CONTAINS_ANY(text_tpatclass_name)
The CONTAINS_ANY in this object overrides the Text CONTAINS_ANY
operator to operate on all the instances of the current
header type. Returns Boolean TRUE if any of the patterns associated
with input patclass is present in any instance of the header value.
Parameters(expressions not allowed):
patclass_name -
Patclass Name
Returns: bool_at
* CONTAINS_INDEX(text_tpatclass_name)
The CONTAINS_INDEX in this object overrides the Text CONTAINS_INDEX
operator to operate on all the instances of the current
header type. Returns the index of the matching pattern associated
with input patclass that is present in any instance of the header value.
Parameters(expressions not allowed):
patclass_name -
Patclass Name
Returns: num_at
* CONTAINS(text_ts)
The CONTAINS in this object overrides the Text CONTAINS
operator to operate on all the instances of the current
header type. Returns Boolean TRUE if the input Pattern
String is present in any instance of the header value.
GET / SIP/2.0\r\n Host: abc.com\r\n MyHdr: abc\r\n Content-Length: 200\r\n MyHdr: def\r\n
SIP/2.0 200 OK\r\n MyHdr: abc\r\n Content-Length: 200\r\n MyHdr: def\r\n \r\n
Examples: SIP.RES.HEADER("MyHdr").CONTAINS("de") is TRUE. SIP.RES.HEADER("MyHdr").CONTAINS("bcd") is
FALSE. SIP.REQ.HEADER("MyHdr").CONTAINS("de") is
TRUE. SIP.REQ.HEADER("MyHdr").CONTAINS("bcd") is FALSE. The
system does not concatenate the different values.
Parameters(expressions not allowed):
s -
Pattern String
Returns: bool_at
* COUNT
An SIP header can have multiple occurrences. COUNT will
return a Number containing how many headers of the current type
exist.
SIP/2.0 200 OK\r\n MyHdr: abc\r\n Content-Length: 200\r\n MyHdr: def\r\n \r\n
For example: SIP.RES.HEADER("MyHdr").COUNT will return Number 2. The
system does not keep track of more than 15 SIP headers. The result
will be undefined if there are more than 15 instances of the header.
Returns: num_at
* CRC32
Returns a 32-bit integer computed by applying a
CRC (cyclic redundancy check) function to the selected
text. This is the CRC function used by Ethernet,
MPEG-2, PKZIP, GZIP, PNG, and many other applications.
For example, the expression to compute the CRC value
of the (first 1000 bytes of the) body of an HTTP request is:
HTTP.REQ.BODY(1000).CRC32
Returns: num_at
* DECODE_USING_TEXT_MODE
Decodes the selected text using the currently configured
text encoding methods like URLENCODED, BACKSLASH_ENCODED,
PLUS_AS_SPACE, NOURLENCODED, NO_BACKSLASH_ENCODED and
NO_PLUS_AS_SPACE. Text encoding methods are set
using SET_TEXT_MODE method.
Returns: text_t
* DECRYPT
Decrypt the selected base64-encoded ciphertext using the
configured encryptionParams.
Returns: text_t
* DECRYPT(binary_encoding_ein_encoding)
Decrypt the selected ciphertext using the configured encryptionParams.
Parameters(expressions not allowed):
in_encoding -
specifies how the input ciphertext is encoded.
If the ciphertext is not encoded as specified, causes an Undef error.
Returns: text_t
* DECRYPT(text_tencryptionKey)
Decrypt the selected base64-encoded encrypted bytes using the
configured encryption key.
Parameters(expressions not allowed):
encryptionKey -
identifies the encryptionKey object
to provide the cipher method, mode, padding, key, encrypted format
and optional initialization vector (IV).
Returns: text_t
* DECRYPT(text_tencryptionKey, binary_encoding_ein_encoding)
Decrypt the selected base64-encoded encrypted bytes using the
configured encryption key.
Parameters(expressions not allowed):
encryptionKey -
identifies the encryptionKey object
to provide the cipher method, mode, padding, key, encrypted format,
and optional initialization vector (IV).
in_encoding -
specifies how the input ciphertext is encoded.
If the ciphertext is not encoded as specified, causes an Undef error.
Returns: text_t
* DIGEST(digest_method_emethod)
Returns a byte sequence computed by applying the
the specified message digest method to the selected
text.
Parameters(expressions not allowed):
method -
digest method to apply to the input text
Returns: text_t
* DISPLAY_NAME
Returns the display name in the "To" or "From" header
Returns: sip_url_t
* ENCRYPT
Encrypt the selected plaintext bytes using the configured
encryptionParams. The resulting ciphertext is base64-encoded.
Returns: text_t
* ENCRYPT(binary_encoding_eout_encoding)
Encrypt the selected plaintext bytes using the configured
encryptionParams.
Parameters(expressions not allowed):
out_encoding -
specifies how the resulting ciphertext is encoded.
Returns: text_t
* ENCRYPT(text_tencryptionKey)
Encrypt the selected cleartext bytes using the configured
encryption key.
Parameters(expressions not allowed):
encryptionKey -
identifies the encryptionKey object
to provide the cipher method, mode, padding, key, encrypted format
and optional initialization vector (IV).
Returns: text_t
* ENCRYPT(text_tencryptionKey, binary_encoding_eout_encoding)
Encrypt the selected cleartext bytes using the configured
encryption key.
Parameters(expressions not allowed):
encryptionKey -
identifies the encryptionKey object
to provide the cipher method, mode, padding, key, encrypted format
and optional initialization vector (IV).
out_encoding -
specifies how the resulting ciphertext is encoded.
Returns: text_t
* ENDSWITH_ANY(text_tpatset_name)
Results in Boolean TRUE value if the Text ends with any of
the strings that are bound to the patset or dataset named by the
string argument.
Parameters(expressions not allowed):
patset_name -
Pattern Set Name
Returns: bool_at
* ENDSWITH_INDEX(text_tpatset_name)
Returns the numerical index of the matching string, if the Text
ends with any of the strings that are bound to the patset or dataset
named by the string argument. Returns 0 if there is no match.
Parameters(expressions not allowed):
patset_name -
Pattern Set Name
Returns: num_at
* ENDSWITH(text_tend)
Results in Boolean TRUE value if a suffix of the Text
object matches the string argument.
Parameters:
end -
String
Returns: bool_at
* EQUALS_ANY(text_tpatset_name)
The EQUALS_ANY in this object overrides the Text EQUALS_ANY
operator to operate on all the instances of the current
header type. Returns Boolean TRUE if any of the patterns associated
with input patset is equal to any instance of the header value.
Parameters(expressions not allowed):
patset_name -
Patset Name
Returns: bool_at
* EQUALS_INDEX(text_tpatset_name)
The EQUALS_INDEX in this object overrides the Text EQUALS_INDEX
operator to operate on all the instances of the current
header type. Returns the index of the matching pattern associated
with input patset is equal to any instance of the header value.
Parameters(expressions not allowed):
patset_name -
Patset Name
Returns: num_at
* EQ(text_ts)
Results in Boolean TRUE value if the Text object matches the
input argument.
Parameters:
s -
String
Returns: bool_at
* EXISTS
Returns TRUE if an instance of the current header type
exists.
Returns: bool_at
* GET_SIGNED16(uint n, endian_eendianness)
Get the 16-bit signed binary integer at the given offset.
Parameters:
n -
Offset in bytes
endianness -
Select little or big endian
Returns: num_at
* GET_SIGNED32(uint n, endian_eendianness)
Get the 32-bit signed binary integer at the given offset.
Parameters:
n -
Offset in bytes
endianness -
Select little or big endian
Returns: num_at
* GET_SIGNED8(uint n)
Get the 8-bit signed binary integer at the given offset.
Parameters:
n -
Offset in bytes
Returns: num_at
* GET_UNSIGNED16(uint n, endian_eendianness)
Get the 16-bit unsigned binary integer at the given offset.
Parameters:
n -
Offset in bytes
endianness -
Select little or big endian
Returns: num_at
* GET_UNSIGNED32(uint n, endian_eendianness)
Get the 32-bit unsigned binary integer at the given offset.
Parameters:
n -
Offset in bytes
endianness -
Select little or big endian
Returns: unsigned_long_at
* GET_UNSIGNED64(uint n, endian_eendianness)
Get the 64-bit unsigned binary integer at the given offset.
Parameters:
n -
Offset in bytes
endianness -
Select little or big endian
Returns: unsigned_long_at
* GET_UNSIGNED8(uint n)
Get the 8-bit unsigned binary integer at the given offset.
Parameters:
n -
Offset in bytes
Returns: num_at
* GET_URLSET_METADATA(text_turlset_name)
Returns metadata value corresponding to pattern in the urlset.
The matching is case-insensitive for domains, but case-sensitive
for paths. If no pattern is matched within the urlset, the return
value is a NULL string.
For example:
- HTTP.REQ.HOST.APPEND(HTTP.REQ.URL).GET_URLSET_METADATA("urlset_forbidden")
returns value when the combined domain and URL is looked up in the
urlset whose name is "urlset_forbidden".
- HTTP.REQ.URL.IS_STRINGMAP_KEY("url_stringmap") returns
true if value of HTTP.REQ.URL is present as key in the
string map whose name is "url_stringmap".
- HTTP.REQ.URL.SET_TEXT_MODE(IGNORECASE).
IS_STRINGMAP_KEY("url_stringmap")
returns true if value of HTTP.REQ.URL is present as key in
the string map whose name is "url_stringmap".
Key lookup in this case is done case-insensitively.
- HEADER is a base64-encoded JSON structure indicating a signature algorithm and
token type, e.g.'{"alg":"RS256","typ":"JWT"}'
- PAYLOAD is a base64-encoded JSON structure with asserted claims, e.g.
'{"loggedInAs":"admin","iat":1422779638}'
- SIGNATURE is the base64-encoded bytes for the signature on HEADER.PAYLOAD.
- HEADER is a base64-encoded JSON structure indicating a signature algorithm and
token type, e.g.'{"alg":"RS256","typ":"JWT"}'
- PAYLOAD is a base64-encoded JSON structure with asserted claims, e.g.
'{"loggedInAs":"admin","iat":1422779638}'
- SIGNATURE is the base64-encoded bytes for the signature on HEADER.PAYLOAD.
- HTTP.REQ.URL.MAP_STRING("url_stringmap") returns value
when the value of HTTP.REQ.URL is used as key in the
string map whose name is "url_stringmap".
- HTTP.REQ.URL.SET_TEXT_MODE(IGNORECASE).
MAP_STRING("url_stringmap") returns value
when the value of HTTP.REQ.URL is used as key in the
string map whose name is "url_stringmap".
Key lookup in this case is done case-insensitively.
- HTTP.REQ.HOSTNAME.REGEX_MATCH(re/[[:alpha:]]+(abc){2,3}/)
-
%HH will be translated to the character Y where HH denotes the
ascii value of character Y in hexadecimal.
For example, the encoded text "http%3a//" will be decoded to
"http://"
-
%uWWHH will be translated to the character sequence YZ where
WW denotes the ascii value of character Y in hexadecimal and HH
denotes the ascii value of character Z in hexadecimal.
For example, the encoded text "http%u3a2f/" and "http%u003a//"
will both be decoded to"http://"
-
\XXX will be translated to the character Y where XXX denotes the
ascii value of character Y in octal. The valid range of octal
values for this type of encoding is \0 to \377.
For example, the encoded text "http\72//" and "http\072//" will
both be decoded to "http://"
-
\xHH will be translated to the character Y where HH denotes the
ascii value of character Y in hexadecimal.
For example, the encoded text "http\x3a//" will be decoded to
"http://"
-
\uWWXX will be translated to the character sequence YZ where WW
denotes the ascii value of character Y in hexadecimal and XX
denotes the ascii value of character Z in hexadecimal.
For example, the encoded text "http%u3a2f/" and "http%u003a//"
will both be decoded to"http://"
-
Occurences of "\b", "\n", "\t", "\f" and "\r" are translated to
the corresponding ascii characters.
- To get the first value of AVP code 266 from a request, use: DIAMETER.REQ.AVP(266).VALUE(0).
- To get the fourth value of AVP code 266 from a request, use: DIAMETER.REQ.AVP(266).VALUE(3).
- To check if AVP code 1000 in the response has the vendor-specific bit set, use: DIAMETER.RES.AVP(1000).IS_VENDOR_SPECIFIC.
- To get the first value of AVP code 26 from a request, use: radius.REQ.AVP(26).VALUE(0).
- To get the fourth value of AVP code 26 from a request, use: radius.REQ.AVP(26).VALUE(3).
- To get the name of the service path applicable to current subscriber, use: SUBSCRIBER.SERVICEPATH
- To determine If the service function is the next in the service path applicable to scubscriber,
use: SUBSCRIBER.SERVICEPATH.IS_NEXT(
). - Vendor-Id
- Auth-Application-Id
- Acct-Application-Id
- For requests: DIAMETER.REQ.VENDOR_SPECIFIC_APPLICATION_ID.AUTH_APPLICATION_ID
- For responses: DIAMETER.RES.VENDOR_SPECIFIC_APPLICATION_ID.AUTH_APPLICATION_ID
- Vendor-Id
- RADIUS.REQ.VENDOR_SPECIFIC.VENDORID
- HTTP.REQ.HOST.APPEND(HTTP.REQ.URL).URLSET_MATCHES_ANY("urlset_forbidden")
returns true when the combined domain and URL matches any pattern in the
urlset whose name is "urlset_forbidden".
- 1 - include a KeyName element with the certKeyName;
- 2 - include a KeyValue element with the RSA public key from the
certificate;
- 4 - include an X509IssuerSerial element with the certificate serial
number and issuer DN;
- 8 - include an X509SubjectName element with the certificate subject
DN;
- 16 - include an X509Certificate element with the entire
certificate;
Parameters(expressions not allowed):
urlset_name -
urlset name</p></div><p><b>Returns: </b><a href="/en-us/adc-advanced-policy-expression-reference/13-0/text_t/text_t.html">text_t</a></p></div></div></div><div><div><p><b>* </b><b>GE</b>(<a href="/en-us/adc-advanced-policy-expression-reference/13-0/text_t/text_t.html">text_t</a>s)</p><div><p>Results in Boolean TRUE value if the Text object is greater than or
equal to the input argument.
Parameters:
s -
String</p></div><p><b>Returns: </b><a href="/en-us/adc-advanced-policy-expression-reference/13-0/bool_at/bool_at.html">bool_at</a></p></div></div></div><div><div><p><b>* </b><b>GT</b>(<a href="/en-us/adc-advanced-policy-expression-reference/13-0/text_t/text_t.html">text_t</a>s)</p><div><p>Results in Boolean TRUE value if the Text object is greater than the
input argument.
Parameters:
s -
String</p></div><p><b>Returns: </b><a href="/en-us/adc-advanced-policy-expression-reference/13-0/bool_at/bool_at.html">bool_at</a></p></div></div></div><div><div><p><b>* </b><b>HASH</b></p><div><p>Returns a positive 31 bit integer value computed
by applying a proprietary Citrix ADC hash function
to the selected text. This function is not case-
sensitive and ignores whitespaces. For example,
applying the HASH function to two strings "Ab c"
and "abc" would produce the same value. This
function should not be used for security purposes;
use instead the DIGEST function with one of the
standard digest methods.
Returns: num_at
* HMAC(text_thmacKey)
Returns a byte sequence computed by applying the HMAC
(Hash Message Authenticastion Code) function to the selected
text using the configured HMAC key.
Parameters(expressions not allowed):
hmacKey -
indentifies the hmacKey object to provide the
digest (hash) method and the key.
Returns: text_t
* HMAC(text_thmacKey, binary_encoding_eout_encoding)
Returns a byte sequence computed by applying the HMAC
(Hash Message Authenticastion Code) function to the selected
text using the configured HMAC key .
Parameters(expressions not allowed):
hmacKey -
indentifies the hmacKey object to provide the
digest (hash) method and the key.
out_encoding -
specifies how the resulting HMAC is encoded.</p></div><p><b>Returns: </b><a href="/en-us/adc-advanced-policy-expression-reference/13-0/text_t/text_t.html">text_t</a></p></div></div></div><div><div><p><b>* </b><b>HTML_XML_SAFE</b></p><div><p>Apply XML safe transform and select text.
Converts '<', '>' and ';'
in the input text to ';lt;', ';gt;' and ';amp;'
respectively; other characters in the input are not modified.
This transform safeguards against XSS based attacks.
This is a read only operation.
Returns: text_t
* HTTP_HEADER_SAFE
Apply Header safe transform and select text. Converts all new line
('\n') characters present in the input text to '%0A' so that they can
safely be used in HTTP headers. This transform safeguards against
response-splitting attacks. This is a read only operation.
Returns: text_t
* HTTP_URL_SAFE
Apply URL safe transform and select text. Converts URL unsafe
characters to corresponding '%xx' values and retains the rest.
This is a read only operation.
Based on RFC2396, following are considered URL safe characters:The rest are converted to %XX encoding, 'XX' is the hex-basedAlpha-numeric characters: a-z, A-Z, 0-9 Hyphen and underscore: "-", "_" Dot: "." Exclamation mark: "!" Tilde: "~" Asterix: "*" Single quote: "'" Open and close parentheses: "(", ")" Semi-colon: ";" Colon: ":" At symbol: "@" Question mark: "?" Equals: "=" Dollar: "$" Percent: "%" Ampersand: ";" Plus: "+" Comma: "," Forward slash: "/"
representation of the input character.
If the requirement is to encode all but URL unreserved
characters, please consider using URL_RESERVED_CHARS_SAFE
method.
Returns: text_t
* INSTANCE(uint lineno)
An SIP header can have multiple occurrences. INSTANCE(0) will
select the last header line of the current type, INSTANCE(1) will
select the last but one header line and so on. The counting goes
backward. Only the last 15 instances of a header are accessible.
Therefore Instance Number cannot be greater than 14.
SIP/2.0 200 OK\r\n
MyHdr: abc\r\n
Content-Length: 200\r\n
MyHdr: def\r\n
\r\n
For example: SIP.RES.HEADER("MyHdr").INSTANCE(1) will return a Text
object referring to "MyHdr: abc\r\n".
It can not be used in bi-directional policies.
Parameters(expressions not allowed):
lineno -
Instance Number</p></div><p><b>Returns: </b><a href="/en-us/adc-advanced-policy-expression-reference/13-0/text_t/text_t.html">text_t</a></p></div></div></div><div><div><p><b>* </b><b>IS_BOOL_AT</b></p><div><p>Results in Boolean TRUE value if the Text is of boolean type.</p><p><b>Returns: </b><a href="/en-us/adc-advanced-policy-expression-reference/13-0/bool_at/bool_at.html">bool_at</a></p></div></div></div><div><div><p><b>* </b><b>IS_DOUBLE_AT</b></p><div><p>Results in Boolean TRUE value if the Text is of double data type.</p><p><b>Returns: </b><a href="/en-us/adc-advanced-policy-expression-reference/13-0/bool_at/bool_at.html">bool_at</a></p></div></div></div><div><div><p><b>* </b><b>IS_IPV6_AT</b></p><div><p>Results in Boolean TRUE value if the Text is of IPv6 data type.</p><p><b>Returns: </b><a href="/en-us/adc-advanced-policy-expression-reference/13-0/bool_at/bool_at.html">bool_at</a></p></div></div></div><div><div><p><b>* </b><b>IS_IPV6_SUBNET_AT</b></p><div><p>Results in Boolean TRUE value if the Text is of IPv6 subnet data type.</p><p><b>Returns: </b><a href="/en-us/adc-advanced-policy-expression-reference/13-0/bool_at/bool_at.html">bool_at</a></p></div></div></div><div><div><p><b>* </b><b>IS_IP_AT</b></p><div><p>Results in Boolean TRUE value if the Text is of IPv4 data type.</p><p><b>Returns: </b><a href="/en-us/adc-advanced-policy-expression-reference/13-0/bool_at/bool_at.html">bool_at</a></p></div></div></div><div><div><p><b>* </b><b>IS_MAC_ADDRESS_AT</b></p><div><p>Results in Boolean TRUE value if the Text is of mac address data type.</p><p><b>Returns: </b><a href="/en-us/adc-advanced-policy-expression-reference/13-0/bool_at/bool_at.html">bool_at</a></p></div></div></div><div><div><p><b>* </b><b>IS_NUM_AT</b></p><div><p>Results in Boolean TRUE value if the Text is of number type.</p><p><b>Returns: </b><a href="/en-us/adc-advanced-policy-expression-reference/13-0/bool_at/bool_at.html">bool_at</a></p></div></div></div><div><div><p><b>* </b><b>IS_NUM_AT</b>(<a href="/en-us/adc-advanced-policy-expression-reference/13-0/num_format_e/num_format_e.html">num_format_e</a>format)</p><div><p>Results in Boolean TRUE value if the Text is of number type
with given input base.
Parameters(expressions not allowed):
format -
number format</p></div><p><b>Returns: </b><a href="/en-us/adc-advanced-policy-expression-reference/13-0/bool_at/bool_at.html">bool_at</a></p></div></div></div><div><div><p><b>* </b><b>IS_STRINGMAP_KEY</b>(<a href="/en-us/adc-advanced-policy-expression-reference/13-0/text_t/text_t.html">text_t</a>string_map_name)</p><div><p>Returns true if the string that it operates on is
present in the string map.
IGNORECASE, NOIGNORECASE - controls whether key
lookup in string map is case sensitive or not.
For example:
Parameters(expressions not allowed):
string_map_name -
identifies the string map.</p></div><p><b>Returns: </b><a href="/en-us/adc-advanced-policy-expression-reference/13-0/bool_at/bool_at.html">bool_at</a></p></div></div></div><div><div><p><b>* </b><b>IS_TIME_AT</b></p><div><p>Results in Boolean TRUE if the Text follows any of the
standard time formats given below, otherwise false.
Tue, 05 Nov 1994 08:12:31 GMT RFC822
Tuesday, 05-Nov-94 08:12:31 GMT RFC850
Tue Nov 4 08:12:31 1994 asctime
Returns: bool_at
IS_UNSIGNED_LONG_AT
Results in Boolean TRUE value if the Text is of unsigned long data type.
Returns: bool_at
IS_UNSIGNED_LONG_AT(num_format_eformat)
Results in Boolean TRUE value if the Text is of unsigned long data type
with given input base.
Parameters(expressions not allowed):
format -
number format</p></div><p><b>Returns: </b><a href="/en-us/adc-advanced-policy-expression-reference/13-0/bool_at/bool_at.html">bool_at</a></p></div></div></div><div><div><p><b>* </b><b>JWT_VERIFY_CERTKEY</b>(<a href="/en-us/adc-advanced-policy-expression-reference/13-0/text_t/text_t.html">text_t</a>certkey_name)</p><div><p>Verifies the signature on the input JSON Web Token (JWT), using the RSA public key in
the X.509 certificate in the specified certkey object. The token has the format
HEADER.PAYLOAD.SIGNATURE
where
public key; false if the signature is not verified
Parameters:
certkey_name -
identifies the certkey object containing an X.509 certificate
holding the RSA public key.
Results in an Undef error if the certkey object does not exist or does not
contain an X.509 certificate with an RSA public key, if the token is not
correctly formatted, or if the verification operation cannot complete.
Returns: bool_at
* JWT_VERIFY_XML(text_txml_pkey)
Verifies the signature on the input JSON Web Token (JWT), using the RSA public key
supplied by the specified XML element. The token has the format
HEADER.PAYLOAD.SIGNATURE
where
public key; false if the signature is not verified
Parameters:
xml_pkey -
an expression that supplies an <RSAKeyValue> element with
the public key.
Results in an Undef error if the XML element is invalid or does not correctly
specify an RSA public key, if the token is not correctly formatted, or if the
verification operation cannot complete.
Returns: bool_at
* LENGTH
Results in a Number Value that is the number of characters
(not bytes) in the Text object.
Returns: num_at
* LE(text_ts)
Results in Boolean TRUE value if the Text object is less than or
equal to the input argument.
Parameters:
s -
String</p></div><p><b>Returns: </b><a href="/en-us/adc-advanced-policy-expression-reference/13-0/bool_at/bool_at.html">bool_at</a></p></div></div></div><div><div><p><b>* </b><b>LIST</b></p><div><p>A SIP header can have multiple comma separated parameter list in a single line.
LIST operation will give a list of comma separated entities. LIST.GET(0) will select
the first entity in the comma separated header line. LIST.GET(1) will select the
second entity and so on.
SIP/2.0 200 OK\r\n
MyHdr: abc;param1=1;param2=2,abc2=second;paramabc2=3\r\n
Content-Length: 200\r\n
MyHdr: def\r\n
\r\n
For example : SIP.REQ.HEADER("MyHdr").LIST.GET(1) will return a text object referring
to "abc2=second;paramabc2=3"
Returns: list_t
* LOCATION_LONG
Get the location qualifier from CLIENT.IP.SRC.LOCATION.GET(n)
(ISO short name) and then convert it to human readable long name.
This conversion is valid only for country names. Correct Country
qualifier value (number) in GET(n) is left up to the user as
qualifiers are user configurable.
Expression example: CLIENT.IP.SRC.LOCATION.GET(1).LOCATION_LONG
For example: Data from each expression
CLIENT.IP.SRC.LOCATION: NA.US.California.SantaClara..
CLIENT.IP.SRC.LOCATION.GET(1): US
CLIENT.IP.SRC.LOCATION.GET(1).LOCATION_LONG: United States
Returns: text_t
* LT(text_ts)
Results in Boolean TRUE value if the Text object is less than the
input argument.
Parameters:
s -
String</p></div><p><b>Returns: </b><a href="/en-us/adc-advanced-policy-expression-reference/13-0/bool_at/bool_at.html">bool_at</a></p></div></div></div><div><div><p><b>* </b><b>MAP_STRING_DEFAULT_TO_KEY</b>(<a href="/en-us/adc-advanced-policy-expression-reference/13-0/text_t/text_t.html">text_t</a>string_map_name)</p><div><p>Returns the value corresponding to the key in the
string map. This is similar to the MAP_STRING method, but if
the key is not present then instead of returning a null
string, it returns the key itself.
Parameters(expressions not allowed):
string_map_name -
identifies the string map.</p></div><p><b>Returns: </b><a href="/en-us/adc-advanced-policy-expression-reference/13-0/text_t/text_t.html">text_t</a></p></div></div></div><div><div><p><b>* </b><b>MAP_STRING</b>(<a href="/en-us/adc-advanced-policy-expression-reference/13-0/text_t/text_t.html">text_t</a>string_map_name)</p><div><p>Returns value corresponding to key in the string map.
Key is the string that it is given as input.
IGNORECASE, NOIGNORECASE - controls whether key
lookup in string map is case sensitive or not.
For example:
Parameters(expressions not allowed):
string_map_name -
identifies the string map.</p></div><p><b>Returns: </b><a href="/en-us/adc-advanced-policy-expression-reference/13-0/text_t/text_t.html">text_t</a></p></div></div></div><div><div><p><b>* </b><b>MARK_SAFE</b></p><div><p>Mark the PIXL expression safe without applying any safe transform.</p><p><b>Returns: </b><a href="/en-us/adc-advanced-policy-expression-reference/13-0/text_t/text_t.html">text_t</a></p></div></div></div><div><div><p><b>* </b><b>MAX</b>(<a href="/en-us/adc-advanced-policy-expression-reference/13-0/text_t/text_t.html">text_t</a>s)</p><div><p>Compares the string argument with the current string and
returns the max string.
Parameters:
s -
String</p></div><p><b>Returns: </b><a href="/en-us/adc-advanced-policy-expression-reference/13-0/text_t/text_t.html">text_t</a></p></div></div></div><div><div><p><b>* </b><b>MIN</b>(<a href="/en-us/adc-advanced-policy-expression-reference/13-0/text_t/text_t.html">text_t</a>s)</p><div><p>Compares the string argument with the current string and
returns the min string.
Parameters:
s -
String</p></div><p><b>Returns: </b><a href="/en-us/adc-advanced-policy-expression-reference/13-0/text_t/text_t.html">text_t</a></p></div></div></div><div><div><p><b>* </b><b>NE</b>(<a href="/en-us/adc-advanced-policy-expression-reference/13-0/text_t/text_t.html">text_t</a>s)</p><div><p>Results in Boolean TRUE value if the Text object is not equal to the
input argument.
Parameters:
s -
String</p></div><p><b>Returns: </b><a href="/en-us/adc-advanced-policy-expression-reference/13-0/bool_at/bool_at.html">bool_at</a></p></div></div></div><div><div><p><b>* </b><b>NORMALIZE_URL</b></p><div><p>Normalize URL.
Normalizes a URL by doing "percent" decoding. See the
description for URLENCODED in the SET_TEXT_MODE
function.
This performs the equivalent of
SET_TEXT_MODE(URLENCODED).DECODE_USING_TEXT_MODE,
except that it does not change the value of the
current text mode.
Returns: text_t
* PKEY_ENCRYPT_PEM_NO_PADDING(text_tpem_pkey)
Encrypts the input text using the RSA public key provided by the PEM string
and RSA_NO_PADDING padding method. The input text to be encrypted cannot be
longer than the public key length minus 11 bytes for padding. For example,
for a 1024-bit (128 byte) key, the input text cannot be longer than
128 - 11 = 117 bytes. An Undef error will occur if the input text is
too long. A null input will also cause an Undef error.
Returns the (unencoded binary) encrypted text, which is typically
base-64 encoded for use in a message.
Parameters:
pem_pkey -
a text expression that supplies a RSA public key in the
PEM format. If the text value is not a valid PEM RSA PUBLIC KEY
encoding, an Undef error will occur. Example (a 1024-bit public key):
"-----BEGIN RSA PUBLIC KEY-----" +"MIGJAoGBAKl5vgQEj73Kxp+9yn1v5gPR1pnc4oLM2a0kaWwBOsB6rzCIy6znwnvw" +
"CY1xRvQhRlJSAyJbloL7wZFIJ2FOR8Cz+8ZQWXU2syG+udi4EnWqLgFYowF9zK+o" +
"79az597eNPAjsHZ/C2oL/+6qY5a/f1z8bQPrHC4GpFfAEJhh/+NnAgMBAAE=" +
"-----END RSA PUBLIC KEY-----"
Returns: text_t
* PKEY_ENCRYPT_PEM(text_tpem_pkey)
Encrypts the input text using the RSA public key provided by the PEM string
and the RSA_PKCS1_PADDING padding method. The input text to be encrypted
cannot be longer than the public key length minus 11 bytes for padding.
For example, for a 1024-bit (128 byte) key, the input text cannot be
longer than 128 - 11 = 117 bytes. An Undef error will occur if the input
text is too long. A null input will also cause an Undef error.
Returns the (unencoded binary) encrypted text, which is typically
base-64 encoded for use in a message.
Parameters:
pem_pkey -
a text expression that supplies a RSA public key in the
PEM format. If the text value is not a valid PEM RSA PUBLIC KEY
encoding, an Undef error will occur. Example (a 1024-bit public key):
"-----BEGIN RSA PUBLIC KEY-----" +"MIGJAoGBAKl5vgQEj73Kxp+9yn1v5gPR1pnc4oLM2a0kaWwBOsB6rzCIy6znwnvw" +
"CY1xRvQhRlJSAyJbloL7wZFIJ2FOR8Cz+8ZQWXU2syG+udi4EnWqLgFYowF9zK+o" +
"79az597eNPAjsHZ/C2oL/+6qY5a/f1z8bQPrHC4GpFfAEJhh/+NnAgMBAAE=" +
"-----END RSA PUBLIC KEY-----"
Returns: text_t
* PKEY_SIGN_CERTKEY(text_tcertkey_name)
Generates a binary digital signature using the SHA-256 message digest function
and an RSA private key from the specified SSL certKey object.
Parameters:
certkey_name -
identifies the configured certKey object.
Results in an Undef error if the certkey object does not exist or does not
contain an RSA private key, or if the signing operation cannot complete.
Returns: text_t
* PKEY_SIGN_XML(text_txml_pkey)
Generates a binary digital signature using the SHA-256 message digest function
and an RSA private key from the specified XML element.
Parameters:
xml_pkey -
an expression that supplies an <RSAKeyValue> element with
the private key. Example:
<RSAKeyValue>
<Modulus>qXm+BASPvcrGn73KfW/mA9HWmdzigszZrSRpbAE6wHqvMIjLrOfCe/AJjXFG9CFGUlIDIluWgvvBkUgnYU5HwLP7xlBZdTazIb652LgSdaouAVijAX3Mr6jv1rPn3t408COwdn8Lagv/7qpjlr9/XPxtA+scLgakV8AQmGH/42c=</Modulus>
<Exponent>AQAB</Exponent>
<P>08udZRun1Ts4Fs7ctk8znvr6LEoqIDaAI8GpmE8MXF9OCr0Z3847kNd/loKFgRZSV4KABJPu6T2l8Pr1xma8iQ==</P>
<Q>zNjysxcIJV/J9cTpIgPp2/x1IXHT5GTH8OMuNad0qtRSLjU1QYUmmkm9QcJJAN+7h8FEXWGabySUzBrHj/IEbw==</Q>
<DP>QavUDQLLQpnPJXtVAo6CYhxOMCd68mwTxYKKNLjmC0pd54SFHllTLPE1FZU5EjK6q3nCeijonpfH+XXHeZJniQ==</DP>
<DQ>EiXOKouJzzXTQJC3TqomF7Uf81yQNxWumOqnd11kepXgyfMwyqMvLlAGEkNSEF/Bz18R3Wv+MIZ/IC3nLBt2xQ==</DQ>
<InverseQ>ocuCmz36CP+N2aGqxaU+BKD5+3RLgRq9LFhULEz2jKx0iV9r76jsAxn3sLcTYYO9eqRPy2cz74AUToD6u1Q/nw==</InverseQ>
<D>fTBD773a3GzcmgVdfZlaBLpN1ux2mf5uUVrTUQf7eVFm9egm4/tzC5A9zjC+I/oscwTH8epL3UfRLdtp05Q6pWfJBXEnGo0QmOFFBK4pLx/5JJpPGZ69ovDFEVOUHyiCfKE/g97T4WX3us0nFe1272zwGlHarM1YYwvfeE08UdE=</D>
</RSAKeyValue>
Results in an Undef error if the XML element is invalid or does not correctly
specify an RSA private key, or if the signing operation cannot complete.
Returns: text_t
* PKEY_VERIFY_CERTKEY(text_tcertkey_name, text_tsignature)
Verifies if the input text matches the specified signature generated using the
SHA-256 messge digest function and the RSA private key associated with the specified
RSA public key in the X.509 certificate in the specified certKey object.
Returns true if the signature is verified, false otherwise.
Parameters:
certkey_name -
identifies the certkey object containing an X.509 certificate
holding the RSA public key.
signature -
the binary signature.
Results in an Undef error if the certkey object does not exist or does not
contain an X.509 certificate with an RSA public key, or if the verification
operation cannot complete.
Returns: bool_at
* PKEY_VERIFY_XML(text_txml_pkey, text_tsignature)
Verifies if the input text matches the specified signature generated using the
SHA-256 messge digest function and the RSA private key associated with the RSA
public key supplied by the specified XML element. Returns true if the signature
is verified, false otherwise.
Parameters:
xml_pkey -
an expression that supplies an <RSAKeyVAlue> element with
the public key. Example:
<RSAKeyValue>
<Modulus>qXm+BASPvcrGn73KfW/mA9HWmdzigszZrSRpbAE6wHqvMIjLrOfCe/AJjXFG9CFGUlIDIluWgvvBkUgnYU5HwLP7xlBZdTazIb652LgSdaouAVijAX3Mr6jv1rPn3t408COwdn8Lagv/7qpjlr9/XPxtA+scLgakV8AQmGH/42c=</Modulus>
<Exponent>AQAB</Exponent>
</RSAKeyValue>
signature -
the binary signature.
Results in an Undef error if the XML element is invalid or does not correctly
specify an RSA public key, or if the verification operation cannot complete.
Returns: bool_at
* PREFIX(char c, uint i)
Select a prefix of the Text. The selected prefix is the
longest prefix that has at most Count (2nd argument) occurrences
of character in the 1st argument.
Parameters:
c -
Character</p><p>i -
Count</p></div><p><b>Returns: </b><a href="/en-us/adc-advanced-policy-expression-reference/13-0/text_t/text_t.html">text_t</a></p></div></div></div><div><div><p><b>* </b><b>PREFIX</b>(uint i)</p><div><p>Select a prefix of the Text. The length of the
prefix is equal to the number in the argument. If there
aren't enough characters in the Text object then the entire
Text is selected.
Parameters:
i -
Prefix Length</p></div><p><b>Returns: </b><a href="/en-us/adc-advanced-policy-expression-reference/13-0/text_t/text_t.html">text_t</a></p></div></div></div><div><div><p><b>* </b><b>REGEX_MATCH</b>(re regex)</p><div><p>The REGEX_MATCH operator in this object overrides the Text
REGEX_MATCH operator to operate on all the instances of the current
header type. Returns Boolean TRUE if the input regular expression
matches any instance of the header value. The order in which the
header instances will be matched is from the last to the first.
The regular expression has to be of the format:
<code>re<delimiter>regular expression<same delimiter>
</code><br /><br /><br /><br />The regular expression cannot be bigger than 1499 characters.
The regular expression should be acceptable by the PCRE regular
expression library. Look at sip://www.pcre.org/pcre.txt for
documentation on the regular expression syntax. In particular,
look at the pcrepattern man page.
There are some differences in the allowed syntax w.r.t PCRE syntax.
Backreferences are not allowed. It is recommended to not use
recursive regular expressions. The dot metacharacter matches
newlines also. Unicode is not supported. SET_TEXT_MODE(IGNORECASE)
overrides the (?i) internal option specified in the regular
expression.
The PCRE library configuration can be seen in the system log, after
executing 'nsapimgr -B" call ns_pixl_regex_show_config()"' at the
shell prompt.
Some examples:
<li></li>HTTP.REQ.URL.SET_TEXT_MODE(URLENCODED).REGEX_MATCH(re#(a*b+c*)#)
<li></li>HTTP.REQ.URL.REGEX_MATCH(re/a(?i)b/) matches ab and aB
<li></li>HTTP.REQ.URL.SET_TEXT_MODE(IGNORECASE).REGEX_MATCH(re/ab/) matches
ab, aB, Ab and AB
<li></li>HTTP.REQ.BODY.REGEX_MATCH(re/(?ixm) (^ab (.*) cd$) /) does a
case-insensitive, multiline match where the dot
metacharacter matches newline also. The regex itself
can contain whitespace which will be ignored during
the matching (x - extended regex).
</ul></p><p><b>Parameters</b>(expressions not allowed):</p><div><p>regex -
Regular Expression</p></div><p><b>Returns: </b><a href="/en-us/adc-advanced-policy-expression-reference/13-0/bool_at/bool_at.html">bool_at</a></p></div></div></div><div><div><p><b>* </b><b>REGEX_SELECT</b>(re regex)</p><div><p>The REGEX_SELECT operator in this object overrides the Text
REGEX_SELECT operator to operate on all the instances of the current
header type. Selects the Text that matches the input regular
expression in any instance of the header value. The order in which
the header instances will be matched is from the last to the first.
For example:
HTTP.REQ.HEADER("via").REGEX_SELECT(re!NS-CACHE-\d\.\d:\s*\d{1,3}!) will select "NS-CACHE-7.0: 70"</p><p><b>Parameters</b>(expressions not allowed):</p><div><p>regex -
Regular Expression</p></div><p><b>Returns: </b><a href="/en-us/adc-advanced-policy-expression-reference/13-0/text_t/text_t.html">text_t</a></p></div></div></div><div><div><p><b>* </b><b>REPEAT</b>(uint i)</p><div><p>Produces a string which contains 'i' sequential copies of the input
string.
Parameters:
i -
the number of times to repeat the string (0 or more)</p></div><p><b>Returns: </b><a href="/en-us/adc-advanced-policy-expression-reference/13-0/text_t/text_t.html">text_t</a></p></div></div></div><div><div><p><b>* </b><b>SET_CHAR_SET</b>(<a href="/en-us/adc-advanced-policy-expression-reference/13-0/charset_e/charset_e.html">charset_e</a>charset)</p><div><p>Set the character set to use for subsequent functions that
use text.
Parameters(expressions not allowed):
charset -
Character Set</p></div><p><b>Returns: </b><a href="/en-us/adc-advanced-policy-expression-reference/13-0/sip_from_header_t/sip_from_header_t.html">sip_from_header_t</a></p></div></div></div><div><div><p><b>* </b><b>SET_TEXT_MODE</b>(<a href="/en-us/adc-advanced-policy-expression-reference/13-0/textmode_e/textmode_e.html">textmode_e</a>mode)</p><div><p>The mode setting of a Text object controls the behavior of
many Text operations. The Text mode settings may also
control the behavior of some operations in objects (like
List) that build upon the Text object.
IGNORECASE, NOIGNORECASE - controls whether string
comparison is case sensitive or not.
URLENCODED - If set then all Text operations are
carried out after translating all %HH or %uHHHH encodings in the
underlying byte stream.
NOURLENCODED - Indicates that no percent encodings are present in
the Text object. No percent decoding will be performed on the Text
object.
PLUS_AS_SPACE - If set then all Text operations are carried out
after converting occurrences of the plus character to whitespace.
For example, the text "hello+world" will be decoded to "hello world"
NO_PLUS_AS_SPACE - If set, then the plus character will not be
converted to whitespace in the Text object.
BACKSLASH_ENCODED - If set, then all Text operations are carried
out after performing the following operations:
NO_BACKSLASH_ENCODED - If set, then backslash decoding will not be
performed on the Text object.
BAD_ENCODE_RAISE_UNDEF - If set, then UNDEF is raised if either the
URLENCODED or BACKSLASH_ENCODED mode is set and a bad encoding
corresponding to the specified encoding mode is encountered.
NO_BAD_ENCODE_RAISE_UNDEF - If set, then UNDEF will not be raised
when a bad encoding is encountered in the Text object.
The Text operations operate on characters (as opposed to operating
on bytes). By default a single byte represents a character
using the ASCII encoding. But if URLENCODED mode is set then
3 bytes may represent a character. A PREFIX(3) operation
will select the first 3 characters in the Text object. That
means it may select up to 9 bytes for URLENCODED Text
object.
In the case of multibyte decodings as a result of %uXXXX or \uXXXX,
Text operations which attempt to treat the multiple decoded bytes as
distinct characters are not allowed.
Parameters(expressions not allowed):
mode -
Text Mode</p></div><p><b>Returns: </b><a href="/en-us/adc-advanced-policy-expression-reference/13-0/sip_from_header_t/sip_from_header_t.html">sip_from_header_t</a></p></div></div></div><div><div><p><b>* </b><b>SKIP</b>(char c, uint i)</p><div><p>Select the Text after skipping over a prefix of the current Text.
The skipped over prefix is the longest prefix that has at most
Count (2nd argument) occurrences of character in the 1st argument.
Parameters:
c -
Character</p><p>i -
Count</p></div><p><b>Returns: </b><a href="/en-us/adc-advanced-policy-expression-reference/13-0/text_t/text_t.html">text_t</a></p></div></div></div><div><div><p><b>* </b><b>SKIP</b>(uint i)</p><div><p>Select the Text after skipping over a prefix in the
current Text. The length of the prefix is equal to the
number in the argument. If there aren't enough characters in
the Text object then the entire Text is skipped over.
Parameters(expressions not allowed):
i -
Prefix Length</p></div><p><b>Returns: </b><a href="/en-us/adc-advanced-policy-expression-reference/13-0/text_t/text_t.html">text_t</a></p></div></div></div><div><div><p><b>* </b><b>STARTSWITH_ANY</b>(<a href="/en-us/adc-advanced-policy-expression-reference/13-0/text_t/text_t.html">text_t</a>patset_name)</p><div><p>Results in Boolean TRUE value if the Text starts with any of
the strings that are bound to the patset or dataset named by the
string argument.
Parameters(expressions not allowed):
patset_name -
Pattern Set Name</p></div><p><b>Returns: </b><a href="/en-us/adc-advanced-policy-expression-reference/13-0/bool_at/bool_at.html">bool_at</a></p></div></div></div><div><div><p><b>* </b><b>STARTSWITH_INDEX</b>(<a href="/en-us/adc-advanced-policy-expression-reference/13-0/text_t/text_t.html">text_t</a>patset_name)</p><div><p>Returns the numerical index of the matching string, if the Text
starts with any of the strings that are bound to the patset
or dataset named by the string argument. Returns 0 if there
is no match.
Parameters(expressions not allowed):
patset_name -
Pattern Set Name</p></div><p><b>Returns: </b><a href="/en-us/adc-advanced-policy-expression-reference/13-0/num_at/num_at.html">num_at</a></p></div></div></div><div><div><p><b>* </b><b>STARTSWITH</b>(<a href="/en-us/adc-advanced-policy-expression-reference/13-0/text_t/text_t.html">text_t</a>start)</p><div><p>Results in Boolean TRUE value if a prefix of the Text
object matches the string argument.
Parameters:
start -
String</p></div><p><b>Returns: </b><a href="/en-us/adc-advanced-policy-expression-reference/13-0/bool_at/bool_at.html">bool_at</a></p></div></div></div><div><div><p><b>* </b><b>STRIP_CHARS</b>(<a href="/en-us/adc-advanced-policy-expression-reference/13-0/text_t/text_t.html">text_t</a>s)</p><div><p>From the selected text remove the characters specified
in the string.
For example: Say the selected text is / "foo.xyz=bar" /.
Then on executing STRIP_CHARS('.=') or STRIP_CHARS('..=') the
selected text will become /fooxyzbar /. Note that repeating
character has same effect as it would be if it present only
once.
Parameters(expressions not allowed):
s -
String</p></div><p><b>Returns: </b><a href="/en-us/adc-advanced-policy-expression-reference/13-0/text_t/text_t.html">text_t</a></p></div></div></div><div><div><p><b>* </b><b>STRIP_END_CHARS</b>(<a href="/en-us/adc-advanced-policy-expression-reference/13-0/text_t/text_t.html">text_t</a>s)</p><div><p>Selects the Text after stripping off characters in the
end of the current Text object.
For example: Say the selected text is / "foo.xyz=bar" /.
Then on executing STRIP_END_CHARS('ar') the
selected text will become /foo.xyz=b /. Note that repeating
character has same effect as it would be if it present only
once.
Parameters(expressions not allowed):
s -
String</p></div><p><b>Returns: </b><a href="/en-us/adc-advanced-policy-expression-reference/13-0/text_t/text_t.html">text_t</a></p></div></div></div><div><div><p><b>* </b><b>STRIP_END_WS</b></p><div><p>Selects the Text after stripping off white space in the
end of the current Text object.
Returns: text_t
* STRIP_START_CHARS(text_ts)
Selects the Text after stripping off characters in the
beginning of the current Text object.
For example: Say the selected text is / "foo.xyz=bar" /.
Then on executing STRIP_START_CHARS('of') the
selected text will become /.xyz=bar /. Note that repeating
character has same effect as it would be if it present only
once.
Parameters(expressions not allowed):
s -
String</p></div><p><b>Returns: </b><a href="/en-us/adc-advanced-policy-expression-reference/13-0/text_t/text_t.html">text_t</a></p></div></div></div><div><div><p><b>* </b><b>STRIP_START_WS</b></p><div><p>Selects the Text after stripping off white space in the
beginning of the current Text object.
Returns: text_t
* SUBSTR_ANY(text_tpatset_name)
Select any one sub-string that matches any string
in the given patset or dataset.
The patset cannot have strings longer than 255 characters.
Parameters(expressions not allowed):
patset_name -
Pattern Set Name</p></div><p><b>Returns: </b><a href="/en-us/adc-advanced-policy-expression-reference/13-0/text_t/text_t.html">text_t</a></p></div></div></div><div><div><p><b>* </b><b>SUBSTR</b>(uint start, uint len)</p><div><p>Select the Text object of the given length at the given
offset. Offset it 0 based. If there aren't enough characters
after the offset then all the remaining characters are
selected.
Parameters:
start -
Offset</p><p>len -
Length</p></div><p><b>Returns: </b><a href="/en-us/adc-advanced-policy-expression-reference/13-0/text_t/text_t.html">text_t</a></p></div></div></div><div><div><p><b>* </b><b>SUBSTR</b>(<a href="/en-us/adc-advanced-policy-expression-reference/13-0/text_t/text_t.html">text_t</a>s)</p><div><p>The SUBSTR operator in this object overrides the Text SUBSTR
operator to operate on all the instances of the current header type.
Selects Text that matches the input string argument. The order in
which the instances of the header are matched is from the last
instance to the first.
SIP/2.0 200 OK\r\n
MyHdr: 111abc\r\n
Content-Length: 200\r\n
MyHdr: 111def\r\n
\r\n
For example: SIP.RES.HEADER("MyHdr").SUBSTR("111") selects "111" in the
last instance of MyHdr, the one with value "111def".
Parameters(expressions not allowed):
s -
String</p></div><p><b>Returns: </b><a href="/en-us/adc-advanced-policy-expression-reference/13-0/text_t/text_t.html">text_t</a></p></div></div></div><div><div><p><b>* </b><b>SUFFIX</b>(char c, uint i)</p><div><p>Select a suffix of the Text. The selected suffix is the
longest possible suffix containing at most Count (2nd arg)
occurrences of the character in the 1st argument.
Parameters:
c -
Character</p><p>i -
Count</p></div><p><b>Returns: </b><a href="/en-us/adc-advanced-policy-expression-reference/13-0/text_t/text_t.html">text_t</a></p></div></div></div><div><div><p><b>* </b><b>SUFFIX</b>(uint i)</p><div><p>Select a suffix of the Text. The length of the
suffix is equal to the number in the argument. If there
aren't enough characters in the Text object then the entire
Text is selected.
Parameters:
i -
Suffix Length</p></div><p><b>Returns: </b><a href="/en-us/adc-advanced-policy-expression-reference/13-0/text_t/text_t.html">text_t</a></p></div></div></div><div><div><p><b>* </b><b>TAG</b></p><div><p>Returns the "tag" parameter in the "To" or "From" header</p><p><b>Returns: </b><a href="/en-us/adc-advanced-policy-expression-reference/13-0/text_t/text_t.html">text_t</a></p></div></div></div><div><div><p><b>* </b><b>TO_LOWER</b></p><div><p>Converts the selected text to lower case.<br /><br /><br /><br />For example, the string "ABCd" is converted to "abcd"</p><p><b>Returns: </b><a href="/en-us/adc-advanced-policy-expression-reference/13-0/text_t/text_t.html">text_t</a></p></div></div></div><div><div><p><b>* </b><b>TO_UPPER</b></p><div><p>Converts the selected text to upper case.<br /><br /><br /><br />For example, the string "abcD" is converted to "ABCD"</p><p><b>Returns: </b><a href="/en-us/adc-advanced-policy-expression-reference/13-0/text_t/text_t.html">text_t</a></p></div></div></div><div><div><p><b>* </b><b>TRUNCATE</b>(char c, uint i)</p><div><p>Select the Text after truncating a suffix from the current
Text object. The truncated suffix is the longest possible
suffix containing at most Count (2nd arg) occurrences of the
character in the 1st argument.
Parameters:
c -
Character</p><p>i -
Count</p></div><p><b>Returns: </b><a href="/en-us/adc-advanced-policy-expression-reference/13-0/text_t/text_t.html">text_t</a></p></div></div></div><div><div><p><b>* </b><b>TRUNCATE</b>(uint i)</p><div><p>Select the Text after truncating a suffix of the Text. The
length of the suffix truncated is equal to the number in the
argument. If there aren't enough characters in the Text then
then all the characters are truncated.
Parameters:
i -
Suffix Length</p></div><p><b>Returns: </b><a href="/en-us/adc-advanced-policy-expression-reference/13-0/text_t/text_t.html">text_t</a></p></div></div></div><div><div><p><b>* </b><b>TYPECAST_AVP_T</b></p><div><p>Convert text_t to avp_t. Will raise an undef if the value is null, empty, or the value has an invalid format for the destination type. (avp_t : Operations that can be performed on the returned AVPs.
Note:An AVP can have multiple instances in a Diameter message.
However, the system can access only the first 16 instances.
Example:
Returns: avp_t
* TYPECAST_AVP_UNUM_T
Convert text_t to avp_unum_t. Will raise an undef if the value is null, empty, or the value has an invalid format for the destination type. (avp_unum_t : In Diameter AVP based expressions can be written as DIAMETER.REQ.AVP(<avpcode>).
For example Auth-Application-Id AVP (AVP code 258) can be extracted as DIAMETER.REQ.AVP(258)
For few of the important AVPs we provide aliases.
For example this AVP based expression can also be written as
DIAMETER.REQ.AUTH_APPLICATION_ID.
This expression returns either a object of class avp_t or
returns a numerical value (object of class unsigned_long_at).
The numerical value for this object is derived from the value in first instance of
the AVP.)
Returns: avp_unum_t
TYPECAST_BOOL_AT
Convert text_t to bool_at. Will raise an undef if the value is null, empty, or the value has an invalid format for the destination type. (bool_at : Boolean Operations)
Returns: bool_at
TYPECAST_COOKIE_T
Convert text_t to cookie_t. Will raise an undef if the value is null, empty, or the value has an invalid format for the destination type. (cookie_t : The HTTP Cookie type provides operations for a
cookie as it appears in the Set-Cookie and Set-Cookie2 header.
In this type the Name-Value List operations are also available. The
first delimiter is = and the element delimiter is ;. Multiple
consecutive ; are treated as one. (Same as applying the method
IGNORE_EMPTY_ELEMENTS on a Name-Value List. You can use the
Name-value List operations to access cookie attributes.
In this type Text operations are also available.
Each cookie begins with a COOKIE_NAME=COOKIE_VALUE pair followed by
zero or more semi-colon separated attribute-value pairs. If an
attribute appears more than once in a cookie, the value associated
with the first appearance of the attribute is returned.
Format Cookie:
Cookie1=Value;Version=decimal;Value;Domain=Value;Path=Value)
Returns: cookie_t
* TYPECAST_DIAMETER_FLAG_T
Convert text_t to diameter_flag_t. Will raise an undef if the value is null, empty, or the value has an invalid format for the destination type. (diameter_flag_t : Provides operation to treat the underlying 1 byte as set of bit
flags. then set/unset/test/reset_all operations can be done on flag)
Returns: diameter_flag_t
* TYPECAST_DNS_DOMAINNAME_T
Convert text_t to dns_domainname_t. Will raise an undef if the value is null, empty, or the value has an invalid format for the destination type. (dns_domainname_t : This object provides operations for parsing the DNS domain name as it
appears at various places in the DNS data. The format is
abc.foo.com.)
Returns: dns_domainname_t
TYPECAST_DNS_FLAG_T
Convert text_t to dns_flag_t. Will raise an undef if the value is null, empty, or the value has an invalid format for the destination type. (dns_flag_t : Provides operations to test/set/unset a flag in dns header.)
Returns: dns_flag_t
TYPECAST_DOUBLE_AT
Convert text_t to double_at. Will raise an undef if the value is null, empty, or the value has an invalid format for the destination type. (double_at : Double Value)
Returns: double_at
* TYPECAST_DOUBLE_T(double_format_eformat)
Convert text_t to double_t. Will raise an undef if the value is null, empty, or the value has an invalid format for the destination type. (double_t : Treat the underlying text as a Double in the given format. The
supported formats are DECIMAL, DECIMAL_PREFIX. All
the formats strip off the beginning white space. DECIMAL
also strips off trailing white space. DECIMAL requires that all
the remaining characters must be a proper double value.
DECIMAL_PREFIX requires that at least one or more
more characters in the prefix must be a proper double value. In
case of overflow, there will be a parsing error.)
Parameters(expressions not allowed):
format -
Format</p></div><p><b>Returns: </b><a href="/en-us/adc-advanced-policy-expression-reference/13-0/double_t/double_t.html">double_t</a></p></div></div></div><div><div><p><b>* </b><b>TYPECAST_DOUBLE_T</b>(<a href="/en-us/adc-advanced-policy-expression-reference/13-0/double_format_e/double_format_e.html">double_format_e</a>format, <a href="/en-us/adc-advanced-policy-expression-reference/13-0/double_at/double_at.html">double_at</a>default_value)</p><div><p>Convert text_t to double_t. Will raise an undef if the value is null, empty, or the value has an invalid format for the destination type. (double_t : Treat the underlying text as a Double in the given format. The
supported formats are DECIMAL, DECIMAL_PREFIX. All
the formats strip off the beginning white space. DECIMAL
also strips off trailing white space. DECIMAL requires that all
the remaining characters must be a proper double value.
DECIMAL_PREFIX requires that at least one or more
more characters in the prefix must be a proper double value. In
case of overflow, there will be a parsing error.
In case of parsing error the default value will be assumed.)
Parameters(expressions not allowed):
format -
Format</p><p>default_value -
Double</p></div><p><b>Returns: </b><a href="/en-us/adc-advanced-policy-expression-reference/13-0/double_t/double_t.html">double_t</a></p></div></div></div><div><div><p><b>* </b><b>TYPECAST_DOUBLE_T</b>(<a href="/en-us/adc-advanced-policy-expression-reference/13-0/double_format_e/double_format_e.html">double_format_e</a>format, <a href="/en-us/adc-advanced-policy-expression-reference/13-0/ip_address_at/ip_address_at.html">ip_address_at</a>default_value)</p><div><p>Convert text_t to double_t. Will raise an undef if the value is null, empty, or the value has an invalid format for the destination type. (double_t : Treat the underlying text as a Double in the given format. The
supported formats are DECIMAL, DECIMAL_PREFIX. All
the formats strip off the beginning white space. DECIMAL
also strips off trailing white space. DECIMAL requires that all
the remaining characters must be a proper double value.
DECIMAL_PREFIX requires that at least one or more
more characters in the prefix must be a proper double value. In
case of overflow, there will be a parsing error.
In case of parsing error the default value will be assumed.)
Parameters(expressions not allowed):
format -
Format</p><p>default_value -
Double</p></div><p><b>Returns: </b><a href="/en-us/adc-advanced-policy-expression-reference/13-0/double_t/double_t.html">double_t</a></p></div></div></div><div><div><p><b>* </b><b>TYPECAST_DOUBLE_T</b>(<a href="/en-us/adc-advanced-policy-expression-reference/13-0/double_format_e/double_format_e.html">double_format_e</a>format, <a href="/en-us/adc-advanced-policy-expression-reference/13-0/num_at/num_at.html">num_at</a>default_value)</p><div><p>Convert text_t to double_t. Will raise an undef if the value is null, empty, or the value has an invalid format for the destination type. (double_t : Treat the underlying text as a Double in the given format. The
supported formats are DECIMAL, DECIMAL_PREFIX. All
the formats strip off the beginning white space. DECIMAL
also strips off trailing white space. DECIMAL requires that all
the remaining characters must be a proper double value.
DECIMAL_PREFIX requires that at least one or more
more characters in the prefix must be a proper double value. In
case of overflow, there will be a parsing error.
In case of parsing error the default value will be assumed.)
Parameters(expressions not allowed):
format -
Format</p><p>default_value -
Double</p></div><p><b>Returns: </b><a href="/en-us/adc-advanced-policy-expression-reference/13-0/double_t/double_t.html">double_t</a></p></div></div></div><div><div><p><b>* </b><b>TYPECAST_DOUBLE_T</b>(<a href="/en-us/adc-advanced-policy-expression-reference/13-0/double_format_e/double_format_e.html">double_format_e</a>format, <a href="/en-us/adc-advanced-policy-expression-reference/13-0/time_at/time_at.html">time_at</a>default_value)</p><div><p>Convert text_t to double_t. Will raise an undef if the value is null, empty, or the value has an invalid format for the destination type. (double_t : Treat the underlying text as a Double in the given format. The
supported formats are DECIMAL, DECIMAL_PREFIX. All
the formats strip off the beginning white space. DECIMAL
also strips off trailing white space. DECIMAL requires that all
the remaining characters must be a proper double value.
DECIMAL_PREFIX requires that at least one or more
more characters in the prefix must be a proper double value. In
case of overflow, there will be a parsing error.
In case of parsing error the default value will be assumed.)
Parameters(expressions not allowed):
format -
Format</p><p>default_value -
Double</p></div><p><b>Returns: </b><a href="/en-us/adc-advanced-policy-expression-reference/13-0/double_t/double_t.html">double_t</a></p></div></div></div><div><div><p><b>* </b><b>TYPECAST_DOUBLE_T</b>(<a href="/en-us/adc-advanced-policy-expression-reference/13-0/double_format_e/double_format_e.html">double_format_e</a>format, <a href="/en-us/adc-advanced-policy-expression-reference/13-0/unsigned_long_at/unsigned_long_at.html">unsigned_long_at</a>default_value)</p><div><p>Convert text_t to double_t. Will raise an undef if the value is null, empty, or the value has an invalid format for the destination type. (double_t : Treat the underlying text as a Double in the given format. The
supported formats are DECIMAL, DECIMAL_PREFIX. All
the formats strip off the beginning white space. DECIMAL
also strips off trailing white space. DECIMAL requires that all
the remaining characters must be a proper double value.
DECIMAL_PREFIX requires that at least one or more
more characters in the prefix must be a proper double value. In
case of overflow, there will be a parsing error.
In case of parsing error the default value will be assumed.)
Parameters(expressions not allowed):
format -
Format</p><p>default_value -
Double</p></div><p><b>Returns: </b><a href="/en-us/adc-advanced-policy-expression-reference/13-0/double_t/double_t.html">double_t</a></p></div></div></div><div><div><p><b>* </b><b>TYPECAST_HTTP_CACHE_CONTROL_T</b></p><div><p>Convert text_t to http_cache_control_t. Will raise an undef if the value is null, empty, or the value has an invalid format for the destination type. (http_cache_control_t : This object provides for the ability to work on HTTP Cache-Control headers.)</p><p><b>Returns: </b><a href="/en-us/adc-advanced-policy-expression-reference/13-0/http_cache_control_t/http_cache_control_t.html">http_cache_control_t</a></p></div></div></div><div><div><p><b>* </b><b>TYPECAST_HTTP_CONTENT_LENGTH_T</b></p><div><p>Convert text_t to http_content_length_t. Will raise an undef if the value is null, empty, or the value has an invalid format for the destination type. (http_content_length_t : The HTTP.REQ.CONTENT_LENGTH or HTTP.RES.CONTENT_LENGTH object can be
treated as a HTTP Header or as a Number. The numerical value for
this object is derived from the value in the last instance of the
Content-Length header.)
Returns: http_content_length_t
* TYPECAST_HTTP_COOKIE_T
Convert text_t to http_cookie_t. Will raise an undef if the value is null, empty, or the value has an invalid format for the destination type. (http_cookie_t : This object provides operations for parsing the HTTP cookie header.
The name-value pair is derived from the value in the last instance of
Cookie header. The format is Cookie : name0=value0; name1=value1;
An HTTP Cookie header can have multiple occurrences. COUNT will
return a Number containing how many headers of the current type
exist.
The system does not keep track of more than 15 HTTP headers. The
result will be undefined if there are more than 15 instances of
the header.)
Returns: http_cookie_t
* TYPECAST_HTTP_DATE_T
Convert text_t to http_date_t. Will raise an undef if the value is null, empty, or the value has an invalid format for the destination type. (http_date_t : The HTTP.REQ.DATE or HTTP.RES.DATE object can be treated as a HTTP
header or a Time object. The Time value is derived from the value in
the last instance of the Date header. The date formats supported are
RFC 822 (updated by RFC 1123), RFC 1036 (obsoletes RFC850) and ANSI C
asctime() formats.)
Returns: http_date_t
* TYPECAST_HTTP_HEADER_T(text_tname)
Convert text_t to http_header_t. Will raise an undef if the value is null, empty, or the value has an invalid format for the destination type. (http_header_t : When typecasting a Text object to HTTP Header a header name
must be provided.For example:
HTTP.REQ.HEADER("MyHdr").TYPECAST_HTTP_HEADER_T("InHdr"))
Parameters(expressions not allowed):
name -
Header Name</p></div><p><b>Returns: </b><a href="/en-us/adc-advanced-policy-expression-reference/13-0/http_header_t/http_header_t.html">http_header_t</a></p></div></div></div><div><div><p><b>* </b><b>TYPECAST_HTTP_HOSTNAME_T</b></p><div><p>Convert text_t to http_hostname_t. Will raise an undef if the value is null, empty, or the value has an invalid format for the destination type. (http_hostname_t : This object provides operations for parsing the HTTP hostname as it
appears at various places in the HTTP protocol data. The format is
abc.foo.com:8080.)
Returns: http_hostname_t
* TYPECAST_HTTP_METHOD_T
Convert text_t to http_method_t. Will raise an undef if the value is null, empty, or the value has an invalid format for the destination type. (http_method_t : This object provides Text operations and HTTP Request Method Enum
operations on the HTTP request method.)
Returns: http_method_t
* TYPECAST_HTTP_SET_COOKIE_T
Convert text_t to http_set_cookie_t. Will raise an undef if the value is null, empty, or the value has an invalid format for the destination type. (http_set_cookie_t : HTTP.RES.SET_COOKIE provides operations for parsing and operating on the
SET-COOKIE header that is present in the HTTP response.
HTTP Set-Cookie header supports Text and HTTP Header operations.
For most Text operations the value in the last Set-Cookie header is
selected.
HTTP Set-Cookie header also supports special operations to extract
cookies from the response. It is assumed that there will be only one
cookie in a Set-Cookie header.)
Returns: http_set_cookie_t
* TYPECAST_HTTP_URL_T
Convert text_t to http_url_t. Will raise an undef if the value is null, empty, or the value has an invalid format for the destination type. (http_url_t : HTTP.REQ.URL provides operations for parsing and operating on the
URL that is present in the first line of the HTTP request header.
The supported format is [<protocol>://<hostname>]<path>?<query>. The
Text object backing a HTTP URL object has the Text Mode set to
URLENCODED by default.)
Returns: http_url_t
* TYPECAST_HTTP_VERSION_T
Convert text_t to http_version_t. Will raise an undef if the value is null, empty, or the value has an invalid format for the destination type. (http_version_t : HTTP.REQ.VERSION or HTTP.RES.VERSION provide operations to extract HTTP
version information.)
Returns: http_version_t
* TYPECAST_IPV6_ADDRESS_AT
Convert text_t to ipv6_address_at. Will raise an undef if the value is null, empty, or the value has an invalid format for the destination type. (ipv6_address_at : Provides operations for the 128-bit IPv6 address value.
Some general information regarding IPv6 expressions:
IPv6 PIXL expressions can be combined with other PIXL expressions
using the '+' operator. The output is expected to be the
concatenation of the string representations of the individual PIXL
expressions. No other operator other than '+' is expected to work
when any of the operands is an IPv6 PIXL expression. Also, IPv6
PIXL expressions can be combined with any other type of PIXL
expression except a PIXL expression that produces a bool result.
In other words, if A and/or B are two IPv6 addresses, A+B should result
in the string AB. When one of A or B is an IPv6 address, the other
can only be a number or a string and not a boolean. Further, when
A and/or B is an IPv6 address, the only operator allowed between
them is '+'.
<br /><br /><br /><br />Example: Let the client source IPv6 address be ABCD:1234::ABCD.
Let the server destination IPv4 address be 10.100.10.100.
Then the expression CLIENT.IPV6.SRC + SERVER.IP.DST should
produce the output "ABCD:1234::ABCD10.100.10.100".
<br /><br />Similarly, CLIENT.IPV6.SRC + 5 should produce the result
ABCD:1234::ABCD5)</p><p><b>Returns: </b><a href="/en-us/adc-advanced-policy-expression-reference/13-0/ipv6_address_at/ipv6_address_at.html">ipv6_address_at</a></p></div></div></div><div><div><p><b>* </b><b>TYPECAST_IPV6_ADDRESS_T</b></p><div><p>Convert text_t to ipv6_address_t. Will raise an undef if the value is null, empty, or the value has an invalid format for the destination type. (ipv6_address_t : This object represents an IPv6 address present in the
1000:1001:CD10:0000:0000:89AB:4567:CDEF format.)
Returns: ipv6_address_t
TYPECAST_IPV6_SUBNET_AT
Convert text_t to ipv6_subnet_at. Will raise an undef if the value is null, empty, or the value has an invalid format for the destination type. (ipv6_subnet_at : Provides operations for the integral IPv6 subnet address value.)
Returns: ipv6_subnet_at
TYPECAST_IPV6_SUBNET_T
Convert text_t to ipv6_subnet_t. Will raise an undef if the value is null, empty, or the value has an invalid format for the destination type. (ipv6_subnet_t : This object represents an IPv6 subnet address present in the
1000:1001:CD10:0000:0000:89AB:4567:CDEF/64 format.)
Returns: ipv6_subnet_t
TYPECAST_IP_ADDRESS_AT
Convert text_t to ip_address_at. Will raise an undef if the value is null, empty, or the value has an invalid format for the destination type. (ip_address_at : Provides operations for the 32-bit integral IP address value.)
Returns: ip_address_at
TYPECAST_IP_ADDRESS_T
Convert text_t to ip_address_t. Will raise an undef if the value is null, empty, or the value has an invalid format for the destination type. (ip_address_t : Represents an IP address present in the 10.100.200.1
format.)
Returns: ip_address_t
* TYPECAST_LIST_T(char sep)
Convert text_t to list_t. Will raise an undef if the value is null, empty, or the value has an invalid format for the destination type. (list_t : The character separator has to be provided when typecasting
a textual context to list type. The current text mode has no
effect on the character separator. For example if the
current text mode is IGNORECASE and the separator is p then
P will not be treated as a separator.)
Parameters(expressions not allowed):
sep -
Separator</p></div><p><b>Returns: </b><a href="/en-us/adc-advanced-policy-expression-reference/13-0/list_t/list_t.html">list_t</a></p></div></div></div><div><div><p><b>* </b><b>TYPECAST_MAC_ADDRESS_AT</b></p><div><p>Convert text_t to mac_address_at. Will raise an undef if the value is null, empty, or the value has an invalid format for the destination type. (mac_address_at : Provides operations for the 48-bit MAC address value.)</p><p><b>Returns: </b><a href="/en-us/adc-advanced-policy-expression-reference/13-0/mac_address_at/mac_address_at.html">mac_address_at</a></p></div></div></div><div><div><p><b>* </b><b>TYPECAST_MAC_ADDRESS_T</b></p><div><p>Convert text_t to mac_address_t. Will raise an undef if the value is null, empty, or the value has an invalid format for the destination type. (mac_address_t : Represents a MAC address present in the 12:34:56:78:9a:bc
format.)
Returns: mac_address_t
TYPECAST_NUM_AT
Convert text_t to num_at. Will raise an undef if the value is null, empty, or the value has an invalid format for the destination type. (num_at : Number Value)
Returns: num_at
TYPECAST_NUM_T(num_format_eformat)
Convert text_t to num_t. Will raise an undef if the value is null, empty, or the value has an invalid format for the destination type. (num_t : Treat the underlying text as a Number in the given format. The
supported formats are DECIMAL, HEX, DECIMAL_PREFIX, HEX_PREFIX. All
the formats strip off the beginning white space. DECIMAL and HEX
also strip off trailing white space. DECIMAL and HEX require that all
the remaining characters must be proper digits.
DECIMAL_PREFIX and HEX_PREFIX require that at least one or more
more characters in the prefix must be proper digits. In case of
overflow, there will be a parsing error.)
Parameters(expressions not allowed):
format -
Format</p></div><p><b>Returns: </b><a href="/en-us/adc-advanced-policy-expression-reference/13-0/num_t/num_t.html">num_t</a></p></div></div></div><div><div><p><b>* </b><b>TYPECAST_NUM_T</b>(<a href="/en-us/adc-advanced-policy-expression-reference/13-0/num_format_e/num_format_e.html">num_format_e</a>format, <a href="/en-us/adc-advanced-policy-expression-reference/13-0/num_at/num_at.html">num_at</a>default_value)</p><div><p>Convert text_t to num_t. Will raise an undef if the value is null, empty, or the value has an invalid format for the destination type. (num_t : Treat the underlying text as a Number in the given format. The
supported formats are DECIMAL, HEX, DECIMAL_PREFIX, HEX_PREFIX. All
the formats strip off the beginning white space. DECIMAL and HEX
also strip off trailing white space. DECIMAL and HEX require that all
the remaining characters must be proper digits.
DECIMAL_PREFIX and HEX_PREFIX require that at least one or more
more characters in the prefix must be proper digits. In case of
overflow, there will be a parsing error. In case of parsing error the
default value will be assumed.)
Parameters(expressions not allowed):
format -
Format</p><p>default_value -
Number</p></div><p><b>Returns: </b><a href="/en-us/adc-advanced-policy-expression-reference/13-0/num_t/num_t.html">num_t</a></p></div></div></div><div><div><p><b>* </b><b>TYPECAST_NVLIST_T</b>(char sep1, char sep2)</p><div><p>Convert text_t to nvlist_t. Will raise an undef if the value is null, empty, or the value has an invalid format for the destination type. (nvlist_t : Two character delimiters have to be provided when
typecasting a Text object to a Name-Value List.
The first delimited separates the name from the value.
The second delimiter separates list items.
For example typecast_nvlist_t('=', '&') handles a URL
query string.
The Text Mode has no effect on the character delimiters.
For example if the current text mode is IGNORECASE and a
delimiter is p then P will not be treated as a delimiter.)
Parameters(expressions not allowed):
sep1 -
delimiter1</p><p>sep2 -
delimiter2</p></div><p><b>Returns: </b><a href="/en-us/adc-advanced-policy-expression-reference/13-0/nvlist_t/nvlist_t.html">nvlist_t</a></p></div></div></div><div><div><p><b>* </b><b>TYPECAST_NVLIST_T</b>(char sep1, char sep2, char quote)</p><div><p>Convert text_t to nvlist_t. Will raise an undef if the value is null, empty, or the value has an invalid format for the destination type. (nvlist_t : Two character delimiters and quote-character have to be provided
when typecasting a Text object to a Name-Value List that supports
quote-character.
The first delimited separates the name from the value.
The second delimiter separates list items.
The third value specifies the quote character.
For example typecast_nvlist_t('=', ';', '"') handles a
name-value list separated by semi-colons that allows quoting.
The quote-character specifies that the value can occur within the
quotes and the delimiters within the quote-characters should not
be taken into account.
The Text Mode has no effect on the character
delimiters. For example if the current text mode is IGNORECASE and
a delimiter is p then P will not be treated as a delimiter.)
Parameters(expressions not allowed):
sep1 -
delimiter1</p><p>sep2 -
delimiter2</p><p>quote -
quote-character.</p></div><p><b>Returns: </b><a href="/en-us/adc-advanced-policy-expression-reference/13-0/nvlist_t/nvlist_t.html">nvlist_t</a></p></div></div></div><div><div><p><b>* </b><b>TYPECAST_RADIUS_AVP_T</b></p><div><p>Convert text_t to radius_avp_t. Will raise an undef if the value is null, empty, or the value has an invalid format for the destination type. (radius_avp_t : Operations that can be performed on the returned AVPs.
Note:An AVP can have multiple instances in a radius message.
However, the system can access only the first 16 instances.
Example:
Returns: radius_avp_t
* TYPECAST_RADIUS_AVP_VALUE_T
Convert text_t to radius_avp_value_t. Will raise an undef if the value is null, empty, or the value has an invalid format for the destination type. (radius_avp_value_t : Provides operations to typecast RADIUS AVP value to
Integer value or IP Address.)
Returns: radius_avp_value_t
TYPECAST_SEQ_TEXT_T
Convert text_t to seq_text_t. Will raise an undef if the value is null, empty, or the value has an invalid format for the destination type. (seq_text_t : Represents the Text Sequence class.)
Returns: seq_text_t
TYPECAST_SERVICEPATH_T
Convert text_t to servicepath_t. Will raise an undef if the value is null, empty, or the value has an invalid format for the destination type. (servicepath_t : Operations that can be performed on the service path.
Example:
Returns: servicepath_t
TYPECAST_SIP_CALLID_HEADER_T
Convert text_t to sip_callid_header_t. Will raise an undef if the value is null, empty, or the value has an invalid format for the destination type. (sip_callid_header_t : This object provides operations for parsing the SIP callid header.)
Returns: sip_callid_header_t
TYPECAST_SIP_CONTENT_LENGTH_T
Convert text_t to sip_content_length_t. Will raise an undef if the value is null, empty, or the value has an invalid format for the destination type. (sip_content_length_t : The SIP.REQ.CONTENT_LENGTH or SIP.RES.CONTENT_LENGTH object can be
treated as a SIP Header or as a Number. The numerical value for
this object is derived from the value in the last instance of the
Content-Length header.)
Returns: sip_content_length_t
* TYPECAST_SIP_FROM_HEADER_T
Convert text_t to sip_from_header_t. Will raise an undef if the value is null, empty, or the value has an invalid format for the destination type. (sip_from_header_t : This object provides operations for parsing the SIP From header.)
Returns: sip_from_header_t
TYPECAST_SIP_HEADER_T
Convert sip_from_header_t to sip_header_t. Will raise an undef if the value is null, empty, or the value has an invalid format for the destination type. (sip_header_t : Typecast an SIP Header object of a specific type to SIP
Header.For example: SIP.REQ.CONTENT_LENGTH.TYPECAST_SIP_HEADER_T)
Returns: sip_header_t
* TYPECAST_SIP_HEADER_T(text_tname)
Convert text_t to sip_header_t. Will raise an undef if the value is null, empty, or the value has an invalid format for the destination type. (sip_header_t : When typecasting a Text object to SIP Header a header name
must be provided.For example:
SIP.REQ.HEADER("MyHdr").TYPECAST_SIP_HEADER_T("InHdr"))
Parameters(expressions not allowed):
name -
Header Name</p></div><p><b>Returns: </b><a href="/en-us/adc-advanced-policy-expression-reference/13-0/sip_header_t/sip_header_t.html">sip_header_t</a></p></div></div></div><div><div><p><b>* </b><b>TYPECAST_SIP_HOSTNAME_T</b></p><div><p>Convert text_t to sip_hostname_t. Will raise an undef if the value is null, empty, or the value has an invalid format for the destination type. (sip_hostname_t : This object provides operations for parsing the SIP hostname as it
appears at various places in the SIP protocol data. The format is
abc.foo.com:5060.)
Returns: sip_hostname_t
* TYPECAST_SIP_METHOD_T
Convert text_t to sip_method_t. Will raise an undef if the value is null, empty, or the value has an invalid format for the destination type. (sip_method_t : This object provides Text operations and SIP Request Method Enum
operations on the SIP request method.)
Returns: sip_method_t
TYPECAST_SIP_TO_HEADER_T
Convert text_t to sip_to_header_t. Will raise an undef if the value is null, empty, or the value has an invalid format for the destination type. (sip_to_header_t : This object provides operations for parsing the SIP From header.)
Returns: sip_to_header_t
TYPECAST_SIP_URL_T
Convert text_t to sip_url_t. Will raise an undef if the value is null, empty, or the value has an invalid format for the destination type. (sip_url_t : SIP.REQ.URL provides operations for parsing and operating on the
URL that is present in the first line of the SIP request header.
The supported format is [<protocol>://<hostname>]<path>?<query>. The
Text object backing a SIP URL object has the Text Mode set to
URLENCODED by default.)
Returns: sip_url_t
* TYPECAST_SIP_VERSION_T
Convert text_t to sip_version_t. Will raise an undef if the value is null, empty, or the value has an invalid format for the destination type. (sip_version_t : SIP.REQ.VERSION or SIP.RES.VERSION provide operations to extract SIP
version information.)
Returns: sip_version_t
TYPECAST_SIP_VIA_HEADER_T
Convert text_t to sip_via_header_t. Will raise an undef if the value is null, empty, or the value has an invalid format for the destination type. (sip_via_header_t : This object provides operations for parsing the SIP Via header.)
Returns: sip_via_header_t
TYPECAST_SSLVPN_MODE_T
Convert text_t to sslvpn_mode_t. Will raise an undef if the value is null, empty, or the value has an invalid format for the destination type. (sslvpn_mode_t : This object provides Text operations and SSLVPN Mode Enum
operations on the SSLVPN request method.)
Returns: sslvpn_mode_t
* TYPECAST_SSL_TEXT_T(text_tname)
Convert text_t to ssl_text_t. Will raise an undef if the value is null, empty, or the value has an invalid format for the destination type. (ssl_text_t : Treat the underlying text object as SSL Text.)
Parameters(expressions not allowed):
name -
Name</p></div><p><b>Returns: </b><a href="/en-us/adc-advanced-policy-expression-reference/13-0/ssl_text_t/ssl_text_t.html">ssl_text_t</a></p></div></div></div><div><div><p><b>* </b><b>TYPECAST_TCP_OPTIONS_T</b></p><div><p>Convert text_t to tcp_options_t. Will raise an undef if the value is null, empty, or the value has an invalid format for the destination type. (tcp_options_t : TCP Protocol Options)</p><p><b>Returns: </b><a href="/en-us/adc-advanced-policy-expression-reference/13-0/tcp_options_t/tcp_options_t.html">tcp_options_t</a></p></div></div></div><div><div><p><b>* </b><b>TYPECAST_TCP_OPTIONS_TYPE_T</b></p><div><p>Convert text_t to tcp_options_type_t. Will raise an undef if the value is null, empty, or the value has an invalid format for the destination type. (tcp_options_type_t : TCP Protocol Options Type)</p><p><b>Returns: </b><a href="/en-us/adc-advanced-policy-expression-reference/13-0/tcp_options_type_t/tcp_options_type_t.html">tcp_options_type_t</a></p></div></div></div><div><div><p><b>* </b><b>TYPECAST_TCP_REPEATER_OPTION_T</b></p><div><p>Convert text_t to tcp_repeater_option_t. Will raise an undef if the value is null, empty, or the value has an invalid format for the destination type. (tcp_repeater_option_t : TCP Protocol Option : Repeater)</p><p><b>Returns: </b><a href="/en-us/adc-advanced-policy-expression-reference/13-0/tcp_repeater_option_t/tcp_repeater_option_t.html">tcp_repeater_option_t</a></p></div></div></div><div><div><p><b>* </b><b>TYPECAST_TEXT_T</b></p><div><p>Convert sip_header_t to text_t. Will raise an undef if the value is null, empty, or the value has an invalid format for the destination type. (text_t : Designates any piece of text.)</p><p><b>Returns: </b><a href="/en-us/adc-advanced-policy-expression-reference/13-0/text_t/text_t.html">text_t</a></p></div></div></div><div><div><p><b>* </b><b>TYPECAST_TIME_AT</b></p><div><p>Convert text_t to time_at. Will raise an undef if the value is null, empty, or the value has an invalid format for the destination type. (time_at : Treats a number value as number of seconds since GMT Jan 1
1970 0h 0m 0s.)
Returns: time_at
* TYPECAST_TIME_T
Convert text_t to time_t. Will raise an undef if the value is null, empty, or the value has an invalid format for the destination type. (time_t : This object treats a Text object as a date string. The formats
supported are
1. RFC822 :: Sun, 06 Nov 1994 08:49:37 GMT
2. RFC850 :: Sunday, 06-Nov-94 08:49:37 GMT
3. ASCTIME :: Sun Nov 6 08:49:37 1994
4. ASCTIME like :: Sun Nov 6 08:49:37 1994
5. ASCTIME like :: Sun Nov 06 08:49:37 1994
6. Http Set-Cookie Expiry date :: Sun, 06-Nov-1994 08:49:37 GMT)
Returns: time_t
TYPECAST_UNSIGNED_LONG_AT
Convert text_t to unsigned_long_at. Will raise an undef if the value is null, empty, or the value has an invalid format for the destination type. (unsigned_long_at : Unsigned Long(64bit) Value)
Returns: unsigned_long_at
TYPECAST_UNSIGNED_LONG_T(unsigned_long_format_eformat)
Convert text_t to unsigned_long_t. Will raise an undef if the value is null, empty, or the value has an invalid format for the destination type. (unsigned_long_t : Treat the underlying text as a Unsigned Long in the given format. The
supported formats are DECIMAL, HEX, DECIMAL_PREFIX, HEX_PREFIX. All
the formats strip off the beginning white space. DECIMAL and HEX
also strip off trailing white space. DECIMAL and HEX require that all
the remaining characters must be proper digits.
DECIMAL_PREFIX and HEX_PREFIX require that at least one or more
more characters in the prefix must be proper digits. In case of
overflow, there will be a parsing error.)
Parameters(expressions not allowed):
format -
Format</p></div><p><b>Returns: </b><a href="/en-us/adc-advanced-policy-expression-reference/13-0/unsigned_long_t/unsigned_long_t.html">unsigned_long_t</a></p></div></div></div><div><div><p><b>* </b><b>TYPECAST_UNSIGNED_LONG_T</b>(<a href="/en-us/adc-advanced-policy-expression-reference/13-0/unsigned_long_format_e/unsigned_long_format_e.html">unsigned_long_format_e</a>format, <a href="/en-us/adc-advanced-policy-expression-reference/13-0/ip_address_at/ip_address_at.html">ip_address_at</a>default_value)</p><div><p>Convert text_t to unsigned_long_t. Will raise an undef if the value is null, empty, or the value has an invalid format for the destination type. (unsigned_long_t : Treat the underlying text as a Unsigned Long in the given format. The
supported formats are DECIMAL, HEX, DECIMAL_PREFIX, HEX_PREFIX. All
the formats strip off the beginning white space. DECIMAL and HEX
also strip off trailing white space. DECIMAL and HEX require that all
the remaining characters must be proper digits.
DECIMAL_PREFIX and HEX_PREFIX require that at least one or more
more characters in the prefix must be proper digits. In case of
overflow, there will be a parsing error. In case of parsing error the
default value will be assumed.)
Parameters(expressions not allowed):
format -
Format</p><p>default_value -
Number</p></div><p><b>Returns: </b><a href="/en-us/adc-advanced-policy-expression-reference/13-0/unsigned_long_t/unsigned_long_t.html">unsigned_long_t</a></p></div></div></div><div><div><p><b>* </b><b>TYPECAST_UNSIGNED_LONG_T</b>(<a href="/en-us/adc-advanced-policy-expression-reference/13-0/unsigned_long_format_e/unsigned_long_format_e.html">unsigned_long_format_e</a>format, <a href="/en-us/adc-advanced-policy-expression-reference/13-0/unsigned_long_at/unsigned_long_at.html">unsigned_long_at</a>default_value)</p><div><p>Convert text_t to unsigned_long_t. Will raise an undef if the value is null, empty, or the value has an invalid format for the destination type. (unsigned_long_t : Treat the underlying text as a Unsigned Long in the given format. The
supported formats are DECIMAL, HEX, DECIMAL_PREFIX, HEX_PREFIX. All
the formats strip off the beginning white space. DECIMAL and HEX
also strip off trailing white space. DECIMAL and HEX require that all
the remaining characters must be proper digits.
DECIMAL_PREFIX and HEX_PREFIX require that at least one or more
more characters in the prefix must be proper digits. In case of
overflow, there will be a parsing error. In case of parsing error the
default value will be assumed.)
Parameters(expressions not allowed):
format -
Format</p><p>default_value -
Number</p></div><p><b>Returns: </b><a href="/en-us/adc-advanced-policy-expression-reference/13-0/unsigned_long_t/unsigned_long_t.html">unsigned_long_t</a></p></div></div></div><div><div><p><b>* </b><b>TYPECAST_UNSIGNED_LONG_T</b>(<a href="/en-us/adc-advanced-policy-expression-reference/13-0/unsigned_long_format_e/unsigned_long_format_e.html">unsigned_long_format_e</a>format, <a href="/en-us/adc-advanced-policy-expression-reference/13-0/num_at/num_at.html">num_at</a>default_value)</p><div><p>Convert text_t to unsigned_long_t. Will raise an undef if the value is null, empty, or the value has an invalid format for the destination type. (unsigned_long_t : Treat the underlying text as a Unsigned Long in the given format. The
supported formats are DECIMAL, HEX, DECIMAL_PREFIX, HEX_PREFIX. All
the formats strip off the beginning white space. DECIMAL and HEX
also strip off trailing white space. DECIMAL and HEX require that all
the remaining characters must be proper digits.
DECIMAL_PREFIX and HEX_PREFIX require that at least one or more
more characters in the prefix must be proper digits. In case of
overflow, there will be a parsing error. In case of parsing error the
default value will be assumed.)
Parameters(expressions not allowed):
format -
Format</p><p>default_value -
Number</p></div><p><b>Returns: </b><a href="/en-us/adc-advanced-policy-expression-reference/13-0/unsigned_long_t/unsigned_long_t.html">unsigned_long_t</a></p></div></div></div><div><div><p><b>* </b><b>TYPECAST_UNSIGNED_LONG_T</b>(<a href="/en-us/adc-advanced-policy-expression-reference/13-0/unsigned_long_format_e/unsigned_long_format_e.html">unsigned_long_format_e</a>format, <a href="/en-us/adc-advanced-policy-expression-reference/13-0/time_at/time_at.html">time_at</a>default_value)</p><div><p>Convert text_t to unsigned_long_t. Will raise an undef if the value is null, empty, or the value has an invalid format for the destination type. (unsigned_long_t : Treat the underlying text as a Unsigned Long in the given format. The
supported formats are DECIMAL, HEX, DECIMAL_PREFIX, HEX_PREFIX. All
the formats strip off the beginning white space. DECIMAL and HEX
also strip off trailing white space. DECIMAL and HEX require that all
the remaining characters must be proper digits.
DECIMAL_PREFIX and HEX_PREFIX require that at least one or more
more characters in the prefix must be proper digits. In case of
overflow, there will be a parsing error. In case of parsing error the
default value will be assumed.)
Parameters(expressions not allowed):
format -
Format</p><p>default_value -
Number</p></div><p><b>Returns: </b><a href="/en-us/adc-advanced-policy-expression-reference/13-0/unsigned_long_t/unsigned_long_t.html">unsigned_long_t</a></p></div></div></div><div><div><p><b>* </b><b>TYPECAST_UNUM_TEXT_T</b></p><div><p>Convert text_t to unum_text_t. Will raise an undef if the value is null, empty, or the value has an invalid format for the destination type. (unum_text_t : Provides operations to treat the underlying OctectString as Binary
String or unsigned long value .)
Returns: unum_text_t
TYPECAST_URL_CATEGORY_T
Convert text_t to url_category_t. Will raise an undef if the value is null, empty, or the value has an invalid format for the destination type. (url_category_t : Retrieves URL category and attributes from an URL)
Returns: url_category_t
TYPECAST_VENDOR_SPEC_APPID_AVP_T
Convert text_t to vendor_spec_appid_avp_t. Will raise an undef if the value is null, empty, or the value has an invalid format for the destination type. (vendor_spec_appid_avp_t : Retrieves AVPs that are nested in the grouped AVP
Vendor-Specific-Application-Id (code 260). The nested AVPs are:
Vendor-Specific-Application-Id AVP:
Returns: vendor_spec_appid_avp_t
* TYPECAST_VENDOR_SPEC_RADIUS_AVP_T
Convert text_t to vendor_spec_radius_avp_t. Will raise an undef if the value is null, empty, or the value has an invalid format for the destination type. (vendor_spec_radius_avp_t :
Vendor-Specific AVP:
Returns: vendor_spec_radius_avp_t
* UNQUOTE(char c)
If selected text is quoted by character c, Remove character c from
beginning and end.
For example: Say the selected text is / "foo xyz bar " /.
Then on executing UNQUOTE('"') the selected text will become
/foo xyz bar /
Parameters(expressions not allowed):
c -
Character</p></div><p><b>Returns: </b><a href="/en-us/adc-advanced-policy-expression-reference/13-0/text_t/text_t.html">text_t</a></p></div></div></div><div><div><p><b>* </b><b>URLSET_MATCHES_ANY</b>(<a href="/en-us/adc-advanced-policy-expression-reference/13-0/text_t/text_t.html">text_t</a>urlset_name)</p><div><p>Results in Boolean TRUE value if and only if the Text matches any of
the patterns that are specified in the urlset named by the
string argument. The matching is case-insensitive for
domains, but case-sensitive for paths.
For example:
Parameters(expressions not allowed):
urlset_name -
urlset name</p></div><p><b>Returns: </b><a href="/en-us/adc-advanced-policy-expression-reference/13-0/bool_at/bool_at.html">bool_at</a></p></div></div></div><div><div><p><b>* </b><b>URL_CATEGORIZE</b>(uint min_reputation, uint max_reputation)</p><div><p>Returns the URL category for the supplied URL with the given minimum
and maximum reputation score. Where a score of 5 is most risky and 1
is least risky. If either score is set to 0, that bound would be ignored.
By specifying the reputation scores, the function will returned the category
with the highest score (most risky) based on the bounds.
If there was an error getting the category or if the URL is invalid then it
will result in an Undef error.
For example:
HTTP.REQ.HOST.APPEND(HTTP.REQ.URL).URL_CATEGORIZE(0, 0)
returns value when the combined domain and URL is looked up for
the URL category with the highest reputation score (most risky).
Parameters(expressions not allowed):
min_reputation -
Minimum reputation score of URL category</p><p>max_reputation -
Maximum reputation score of URL category</p></div><p><b>Returns: </b><a href="/en-us/adc-advanced-policy-expression-reference/13-0/url_category_t/url_category_t.html">url_category_t</a></p></div></div></div><div><div><p><b>* </b><b>URL_RESERVED_CHARS_SAFE</b></p><div><p>Converts URL reserved characters to corresponding '%XX'
values and retains the rest. This is a read only operation.
Based on RFC3986, following are considered URL unreserved characters:The rest are converted to %XX encoding, 'XX' is the hex-basedAlpha-numeric characters: a-z, A-Z, 0-9 Hyphen and underscore: "-", "_" Dot: "." Tilde: "~"
representation of the input character.
If the requirement is to encode all but URL safe characters,
please consider using HTTP_URL_SAFE method.
Returns: text_t
* VALUE(uint lineno)
An SIP header can have multiple occurrences. VALUE(0) will
select the value in the last header line of the current type,
VALUE(1) will select the value in the last but one header line
and so on. The counting goes backward. Only the last 15 instances
of a header are accessible. Therefore Instance Number cannot be
greater than 14.
SIP/2.0 200 OK\r\n
MyHdr: abc\r\n
Content-Length: 200\r\n
MyHdr: def\r\n
\r\n
For example: SIP.RES.HEADER("MyHdr").VALUE(1) will return a Text
object referring to "abc\r\n".
Parameters(expressions not allowed):
lineno -
Instance Number</p></div><p><b>Returns: </b><a href="/en-us/adc-advanced-policy-expression-reference/13-0/text_t/text_t.html">text_t</a></p></div></div></div><div><div><p><b>* </b><b>XML_DECRYPT</b>(<a href="/en-us/adc-advanced-policy-expression-reference/13-0/text_t/text_t.html">text_t</a>certKeyName)</p><div><p>Decrypt the selected content, which was encrypted using the W3C XML
Encryption standard.
Parameters(expressions not allowed):
certKeyName -
identifies the certkey object containing the RSA
private key to be used to decrypt the bulk encryption key in the
selected EncryptedData element.
Returns: text_t
* XML_ENCRYPT(text_tcertKeyName, encrypt_method_emethod)
Encrypt the selected cleartext using the W3C XML Encryption standard.
Parameters(expressions not allowed):
certKeyName -
identifies the certkey object containing an X.509
certificate with the RSA public key to be used to encrypt the
generated bulk encryption key. Note that the certKey object need not,
and usually will not, include the associated RSA private key.
method -
specifies the bulk encryption method (rc4, des3, aes128,
aes192, or aes256) used to encrypt the content.
Returns: text_t
* XML_ENCRYPT(text_tcertKeyName, encrypt_method_emethod, uint flags)
Encrypt the selected cleartext using the W3C XML Encryption standard.
Parameters(expressions not allowed):
certKeyName -
identifies the certkey object containing an X.509
certificate with the RSA public key to be used to encrypt the
generated bulk encryption key. Note that the certKey object need not,
and usually will not, include the associated RSA private key.
method -
specifies the bulk encryption method (rc4, des3, aes128,
aes192, or aes256) used to encrypt the content.
flags -
optional bit mask to specify optional elements in the
EncryptedData element. These are hints to tell the receiver what private
key to use to decrypt the bulk encryption key, providing information from
the certKey's X.509 certificate.
Returns: text_t
* XPATH_HTML_WITH_MARKUP(xpath_str xpathex)
Applies an XPath expression to the DOM for an HTML document
and returns the selected node-set or string, including
markup like element tags. node-sets are converted to
strings using the standard XPath string conversion routine.
The selected portion of the document can be used as the
target for rewrite actions.
Examples:
HTTP.REQ.BODY(1000).XPATH_HTML_WITH_MARKUP(xp%//html/head/title%)
returns the <title> element in the document's
<head> This can be used in a rewrite action
to replace or delete the <title> element.</p><p><b>Parameters</b>(expressions not allowed):</p><div><p>xpathex -
XPath Expression</p></div><p><b>Returns: </b><a href="/en-us/adc-advanced-policy-expression-reference/13-0/text_t/text_t.html">text_t</a></p></div></div></div><div><div><p><b>* </b><b>XPATH_HTML</b>(xpath_bool xpathex)</p><div><p>Applies an XPath expression to the DOM for an HTML document
and a boolean value.
Examples:
HTTP.RES.BODY(1000).XPATH_HTML(xp%boolean(/html/head/meta)%)
returns true if the <meta> element exists as a child
of <head> element.</p><p><b>Parameters</b>(expressions not allowed):</p><div><p>xpathex -
XPath Expression</p></div><p><b>Returns: </b><a href="/en-us/adc-advanced-policy-expression-reference/13-0/bool_at/bool_at.html">bool_at</a></p></div></div></div><div><div><p><b>* </b><b>XPATH_HTML</b>(xpath_double xpathex)</p><div><p>Applies an XPath expression to the DOM for an HTML document
and a double value.
Examples:
HTTP.RES.BODY(1000).XPATH_HTML(xp%number(//video/@height)%)
returns the numeric value of the height attribute of the
first <video> element.</p><p><b>Parameters</b>(expressions not allowed):</p><div><p>xpathex -
XPath Expression</p></div><p><b>Returns: </b><a href="/en-us/adc-advanced-policy-expression-reference/13-0/double_at/double_at.html">double_at</a></p></div></div></div><div><div><p><b>* </b><b>XPATH_HTML</b>(xpath_str xpathex)</p><div><p>Applies an XPath expression to the DOM for an HTML document
and returns the selected node-set or string. node-sets are
converted to strings using the standard XPath string
conversion routine.
Examples:
HTTP.REQ.BODY(1000).XPATH_HTML(xp%//img/@src%)
returns the string value of the src attribute of
the first <img> element in the document.</p><p><b>Parameters</b>(expressions not allowed):</p><div><p>xpathex -
XPath Expression</p></div><p><b>Returns: </b><a href="/en-us/adc-advanced-policy-expression-reference/13-0/text_t/text_t.html">text_t</a></p></div></div></div><div><div><p><b>* </b><b>XPATH_JSON_WITH_MARKUP</b>(xpath_str xpathex)</p><div><p>xpath(1.0) expression evaluation. xpath_json_with_markup operates on
XML file and returns a string that contains the entire portion of the
document for the result node including markup, such as
including the enclosing element tags
Examples:
For the JSON file:
{
"Book":{
"creator":{
"person":{
"name":'Milton'
}
},
"title":'Paradise Lost'
}
}
HTTP.REQ.BODY(1000).XPATH_JSON_WITH_MARKUP(xp%/Top/Book/creator%)
This expression when operated on the above JSON file,
will select "all the nodes enclosed by
/Book/creator"
in the first 1000 bytes of the body which is
creator:{
person:{
name:'Milton'
}
}
The original JSON document is not disturbed but the
part of the JSON body selected by the
expression is marked for further processing.</p><p><b>Parameters</b>(expressions not allowed):</p><div><p>xpathex -
XPath Expression</p></div><p><b>Returns: </b><a href="/en-us/adc-advanced-policy-expression-reference/13-0/text_t/text_t.html">text_t</a></p></div></div></div><div><div><p><b>* </b><b>XPATH_JSON</b>(xpath_bool xpathex)</p><div><p>xpath(1.0) expression evaluation. xpath_json operates on JSON file
and returns boolean value.
Examples:
For the JSON file:
{
"Book":{
"creator":{
"person":{
"name":'Milton'
}
},
"title":'Paradise Lost'
}
}
HTTP.REQ.BODY(1000).XPATH_JSON(xp%boolean(/Top/Book/creator)%)
This will return true as there is a node named
'creator' with parent 'Book' in the first 1000 bytes of the
document.</p><p><b>Parameters</b>(expressions not allowed):</p><div><p>xpathex -
XPath Boolean Expression</p></div><p><b>Returns: </b><a href="/en-us/adc-advanced-policy-expression-reference/13-0/bool_at/bool_at.html">bool_at</a></p></div></div></div><div><div><p><b>* </b><b>XPATH_JSON</b>(xpath_double xpathex)</p><div><p>xpath(1.0) expression evaluation. xpath_json operates on JSON file
and returns double value.
Examples:
For the JSON file:
{
"Book":{
"creator":{
"person":{
"name":'Milton'
}
},
"title":'Paradise Lost',
"price":"36"
}
}
HTTP.REQ.BODY(1000).XPATH_JSON(xp%number(/Top/Book/price)%)
This will convert the string '36' string to double if it is
in the first 1000 bytes of the document.</p><p><b>Parameters</b>(expressions not allowed):</p><div><p>xpathex -
XPath Numeric Expression</p></div><p><b>Returns: </b><a href="/en-us/adc-advanced-policy-expression-reference/13-0/double_at/double_at.html">double_at</a></p></div></div></div><div><div><p><b>* </b><b>XPATH_JSON</b>(xpath_str xpathex)</p><div><p>xpath(1.0) expression evaluation. xpath_json operates on JSON file
and returns node-set or string.
node-sets are converted into corresponding strings using the
standard xpath string conversion routine.
Examples:
For the JSON file:
{
"Book":{
"creator":{
"person":{
"name":'Milton'
}
},
"title":'Paradise Lost'
}
}
HTTP.REQ.BODY(1000).XPATH_JSON(xp%/Top/Book%)
This will select "all the nodes enclosed by /Book"
in the first 1000 bytes of the body.
Since this is a node-set the corresponding string
value will be returned which is "MiltonParadise
Lost".</p><p><b>Parameters</b>(expressions not allowed):</p><div><p>xpathex -
XPath Expression</p></div><p><b>Returns: </b><a href="/en-us/adc-advanced-policy-expression-reference/13-0/text_t/text_t.html">text_t</a></p></div></div></div><div><div><p><b>* </b><b>XPATH_WITH_MARKUP</b>(xpath_str xpathex)</p><div><p>xpath(1.0) expression evaluation. xpath operates on XML file and
returns a string that contains the entire portion of the
document for the result node including markup, such as
including the enclosing element tags
Examples:
<book><creator><person><name>Milton</name></person></creator><title>Paradise Lost</title></book>HTTP.REQ.BODY(1000).XPATH_WITH_MARKUP(xp%/Book/creator%)
This expression when operated on the above XML file,
will select "all the nodes enclosed by
/Book/creator"
in the first 1000 bytes of the body which is
<creator><person><name>Milton</name></person></creator>The original XML document is not disturbed but the
part of the XML body selected by the
xpath expression is marked for further processing.</p><p><b>Parameters</b>(expressions not allowed):</p><div><p>xpathex -
XPath Expression</p></div><p><b>Returns: </b><a href="/en-us/adc-advanced-policy-expression-reference/13-0/text_t/text_t.html">text_t</a></p></div></div></div><div><div><p><b>* </b><b>XPATH</b>(xpath_bool xpathex)</p><div><p>xpath(1.0) expression evaluation. xpath operates on XML file and
returns boolean value.
Examples:
For the XML file:
<book><creator><person><name>Milton</name></person></creator><title>Paradise Lost</title></book>HTTP.REQ.BODY(1000).XPATH(xp%boolean(//Book/creator)%)
This will return true as there is a node called creator
under the node Book with in the first 1000 bytes of the
document.</p><p><b>Parameters</b>(expressions not allowed):</p><div><p>xpathex -
XPath Boolean Expression</p></div><p><b>Returns: </b><a href="/en-us/adc-advanced-policy-expression-reference/13-0/bool_at/bool_at.html">bool_at</a></p></div></div></div><div><div><p><b>* </b><b>XPATH</b>(xpath_double xpathex)</p><div><p>xpath(1.0) expression evaluation. xpath operates on XML file and
returns double value.
Examples:
For the XML file:
<book><creator><person><name>Milton</name></person></creator><title>Paradise Lost</title><price>36</price></book>HTTP.REQ.BODY(1000).XPATH(xp%number(/Book/price)%)
This will convert the string '36' to double
if it is in the first 1000 bytes of the document.</p><p><b>Parameters</b>(expressions not allowed):</p><div><p>xpathex -
XPath Numeric Expression</p></div><p><b>Returns: </b><a href="/en-us/adc-advanced-policy-expression-reference/13-0/double_at/double_at.html">double_at</a></p></div></div></div><div><div><p><b>* </b><b>XPATH</b>(xpath_str xpathex)</p><div><p>xpath(1.0) expression evaluation. xpath operates on XML file and
returns node-set or string.
node-sets are converted into corresponding strings using the
standard xpath string conversion routine.
Examples:
For the XML file:
<book><creator><person><name>Milton</name></person></creator><title>Paradise Lost</title></book>HTTP.REQ.BODY(1000).XPATH(xp%/Book/creator%)
This expression will select
"all the nodes enclosed by /Book/creator"
in the first 1000 bytes of the body. Since this is a node-set
its string value is returned which is: "Milton"</p><p><b>Parameters</b>(expressions not allowed):</p><div><p>xpathex -
XPath Expression</p></div><p><b>Returns: </b><a href="/en-us/adc-advanced-policy-expression-reference/13-0/text_t/text_t.html">text_t</a></p></div></div></div></body></html>