(also inherits expressions from: text_t list_at )
Provides operations where it assumes that the underlying text is a single character delimited list.
This method ignores the empty elements in the list. If the
element delimiter in the list is , then the following list
a=10,,b=11, ,c=89
has an empty element following a=10. But the element
following b=11 is not considered an empty element.
For example: If HTTP Request packet contains the header
"Cust_Header" as
Cust_Header : 123,,24, ,15
then HTTP.REQ.HEADER("Cust_Header").TYPECAST_LIST_T(',').
IGNORE_EMPTY_ELEMENTS.COUNT gives 4, whereas
HTTP.REQ.HEADER("Cust_Header").TYPECAST_LIST_T(','). .COUNT
gives 5.
Convert list_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.)
Returns: text_tAFTER_REGEX (re regex)
Selects the text after the portion that matches the given
regular expression argument. When the regular expression does not
match the given string, a Text object of length of 0 is returned.
Example:
HTTP.REQ.HEADER("etag").AFTER_REGEX(re/KX/) will select
"DAPPER" from "KXDAPPER".
regex- Regular Expression
Returns: text_tAFTER_STR_ANY (text_t patset_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_tSelects the Text that is present after the first occurrence of the string argument. If there is no match for the argument in the current Text then the result Text object has 0 length. The input string cannot be bigger than 255 characters.
Parameters (expressions not allowed):s- String
Returns: text_tAppends the given double's string representation to the current string.
Parameters:i- the double value to append.
Returns: text_tAPPEND (ip_address_at addr)
Appends the given IPv4's string representation to the current string.
Parameters:addr- the IPv4 address to append.
Returns: text_tAppends the given number's string representation to the current string.
Parameters:i- the number value to append.
Returns: text_tAppends the given time's string representation to the current string.
Parameters:t- the time value to append.
Returns: text_tAppends the given unsigned long's string representation to the current string.
Parameters:i- the unsigned long value to append.
Returns: text_tAPPEND (ipv6_address_at addr)
Appends the given IPv6's string representation to the current string.
Parameters:addr- the IPv6 address to append.
Returns: text_tAPPEND (mac_address_at addr)
Appends the given MAC's string representation to the current string.
Parameters:addr- the MAC address to append.
Returns: text_tAppends the given string to the current string.
Parameters:str- the string to append.
Returns: text_tAppends the given time's string representation to the current string.
Parameters:t- the time value to append.
Returns: text_tDecodes the selected text using base64 decoding.
For example, the string "TWFu" is converted to "Man"
Encodes the selected text using base64 encoding.
For example, the string "Man" is converted to "TWFu"
BEFORE_REGEX (re regex)
Selects the text before the portion that matches the given
regular expression argument. When the regular expression does not
match the given string, a Text object of length of 0 is returned.
For example:
HTTP.RES.HEADER("content-type").BEFORE_REGEX(re#/#) will select "text" from "text/plain".
regex- Regular Expression
Returns: text_tBEFORE_STR_ANY (text_t patset_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_tBEFORE_STR (text_t s)
Selects the Text that is present before the first occurrence of the string argument. If there is no match for the argument in the current Text object then the result Text object has 0 length. The input string cannot be bigger than 255 characters.
Parameters (expressions not allowed):s- String
Returns: text_tBETWEEN (text_t start, text_t end)
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_atConvert to hexadecimal representation and select text.
For example, the byte string
abc
is converted to
61:62:63.
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_atCONTAINS_ANY (text_t patset_name)
Results in Boolean TRUE value if the Text contains 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_atReturns Boolean TRUE if the given string argument is a component of the list. The argument string must not contain the list delimiter character. The IGNORECASE and NOIGNORECASE textmode settings are honored and can be used to make the result case insensitive or case sensitive. The URLENCODED and NOURLENCODED textmode do not affect the result of this operation.
Parameters (expressions not allowed):s- List Component
Returns: bool_atCONTAINS_INDEX (text_t patset_name)
Returns the numerical index of the matching string, if the Text contains 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_atResults in Boolean TRUE value if the Text contains the string given in the argument. The input string cannot be bigger than 255 characters.
Parameters (expressions not allowed):s- String
Returns: bool_atReturns a Number Value giving the count of components present in the list. The number of components is equal to the number of delimiters plus one. If the last list component is of zero length or is all white space then the number of components is equal to the number of delimiters.
Returns: num_atReturns 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_atDecodes 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_tDecrypt the selected base64-encoded encrypted bytes using the configured encryptionParams.
Returns: text_tDIGEST (digest_method_e method)
Returns a byte sequence computed by applying the the specified message digest method to the selected text. The message digest value can be encoded as hex or base64 if needed for comparison. For example, the expression to compute the MD5 digest of the (first 1000 bytes of the) body of an HTTP request and encode it as hex is: HTTP.REQ.BODY(1000).DIGEST(MD5).BLOB_TO_HEX.STRIP_CHARS(":")
Parameters (expressions not allowed):method- digest method to apply to the input text
Returns: text_tEncrypt the selected cleartext bytes using the configured encryptionParams.
Returns: text_tENDSWITH_ANY (text_t patset_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_atENDSWITH_INDEX (text_t patset_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_atResults in Boolean TRUE value if a suffix of the Text object matches the string argument.
Parameters:end- String
Returns: bool_atEQUALS_ANY (text_t patset_name)
Results in Boolean TRUE value if the Text equals 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_atEQUALS_INDEX (text_t patset_name)
Returns the numerical index of the matching string, if the Text equals 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_atResults in Boolean TRUE value if the Text object matches the input argument.
Parameters:s- String
Returns: bool_atGET (uint i)
Operate as Text on the list component specified by the index present in the argument. The list component index is 0-based. If the argument index is greater than the number of components in the list then the selected text will have zero length.
Parameters (expressions not allowed):i- Index
Returns: text_tGET_REVERSE (uint i)
Operate as Text on the list component specified by the reverse index present in the argument. The list component reverse index is 0-based. The reverse index 0 will select the last component, reverse index 1 will select the last but one component and so on. If the argument index is greater than the number of components in the list then the selected text will have zero length. If the last component of the list is of zero length or has all white spaces then GET_REVERSE(0) starts at the last but one component.
Parameters (expressions not allowed):i- Index
Returns: text_tGET_SIGNED16 (uint n, endian_e endianness)
Get the 16-bit signed binary integer at the given offset.
Parameters (expressions not allowed):n- Offset in bytes
endianness- Select little or big endian
Returns: num_atGET_SIGNED32 (uint n, endian_e endianness)
Get the 32-bit signed binary integer at the given offset.
Parameters (expressions not allowed):n- Offset in bytes
endianness- Select little or big endian
Returns: num_atGET_SIGNED8 (uint n)
Get the 8-bit signed binary integer at the given offset.
Parameters:n- Offset in bytes
Returns: num_atOperate as Text on the list component given by the string argument. The argument string must not contain the list delimiter character. The IGNORECASE and NOIGNORECASE textmode settings are honored and can be used to make the result case insensitive or case sensitive. The URLENCODED and NOURLENCODED textmode do not affect the result of this operation.
Parameters (expressions not allowed):s- Value
Returns: text_tGET_UNSIGNED16 (uint n, endian_e endianness)
Get the 16-bit unsigned binary integer at the given offset.
Parameters (expressions not allowed):n- Offset in bytes
endianness- Select little or big endian
Returns: num_atGET_UNSIGNED32 (uint n, endian_e endianness)
Get the 32-bit unsigned binary integer at the given offset.
Parameters (expressions not allowed):n- Offset in bytes
endianness- Select little or big endian
Returns: unsigned_long_atGET_UNSIGNED64 (uint n, endian_e endianness)
Get the 64-bit unsigned binary integer at the given offset.
Parameters (expressions not allowed):n- Offset in bytes
endianness- Select little or big endian
Returns: unsigned_long_atGET_UNSIGNED8 (uint n)
Get the 8-bit unsigned binary integer at the given offset.
Parameters:n- Offset in bytes
Returns: num_atResults in Boolean TRUE value if the Text object is greater than or equal to the input argument.
Parameters:s- String
Returns: bool_atResults in Boolean TRUE value if the Text object is greater than the input argument.
Parameters:s- String
Returns: bool_atReturns a positive 31 bit integer value computed by applying a proprietary NetScaler 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_atApply XML safe transform and select text.
Converts '<', '>' and '&'
in the input text to '<', '>' and '&'
respectively; other characters in the input are not modified.
This transform safeguards against XSS based attacks.
This is a read only operation.
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_tApply URL safe transform and select text. Converts URL unsafe characters to corresponding '%xx' values and retains the rest. This is a read only operation.
The following are considered URL safe characters:
Alpha-numeric characters: a-z, A-Z, 0-9
Hyphen and underscore: "-", "_"
Dot: "."
Exclamation mark: "!"
Tilde: "~"
Asterix: "*"
Single quote: "'"
Open and close parentheses: "(", ")"
The rest are converted to %XX encoding, 'XX' is the hex-based
representation of the input character.
Returns: text_tResults in Boolean TRUE value if the Text is of boolean type.
Returns: bool_atResults in Boolean TRUE value if the Text is of double data type.
Returns: bool_atResults in Boolean TRUE value if the Text is of IPv6 data type.
Returns: bool_atResults in Boolean TRUE value if the Text is of IPv4 data type.
Returns: bool_atResults in Boolean TRUE value if the Text is of mac address data type.
Returns: bool_atResults in Boolean TRUE value if the Text is of number type.
Returns: bool_atIS_NUM_AT (num_format_e format)
Results in Boolean TRUE value if the Text is of number type with given input base.
Parameters (expressions not allowed):format- number format
Returns: bool_atIS_STRINGMAP_KEY (text_t string_map_name)
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:
string_map_name- identifies the string map.
Returns: bool_atResults 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_atResults in Boolean TRUE value if the Text is of unsigned long data type.
Returns: bool_atIS_UNSIGNED_LONG_AT (num_format_e format)
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
Returns: bool_atResults in a Number Value that is the number of characters (not bytes) in the Text object.
Returns: num_atResults in Boolean TRUE value if the Text object is less than or equal to the input argument.
Parameters:s- String
Returns: bool_atResults in Boolean TRUE value if the Text object is less than the input argument.
Parameters:s- String
Returns: bool_atMAP_STRING_DEFAULT_TO_KEY (text_t string_map_name)
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.
Returns: text_tMAP_STRING (text_t string_map_name)
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:
string_map_name- identifies the string map.
Returns: text_tMark the PIXL expression safe without applying any safe transform.
Returns: text_tResults in Boolean TRUE value if the Text object is not equal to the input argument.
Parameters:s- String
Returns: bool_atNormalize 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_tPREFIX (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 (expressions not allowed):c- Character
i- Count
Returns: text_tPREFIX (uint i)
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
Returns: text_tREGEX_MATCH (re regex)
Returns TRUE if the Text object matches the given regular
expression argument.
The regular expression has to be of the format:
re<delimiter>regular expression<same delimiter>
The regular expression cannot be bigger than 1499 characters.
The regular expression should be acceptable by the PCRE regular
expression library. Look at http://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 not to 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:
regex- Regular Expression
Returns: bool_atREGEX_SELECT (re regex)
Selects the text that matches the given regular expression
argument. When the regular expression does not match the given
string, a Text object of length of 0 is returned.
For example:
HTTP.REQ.HEADER("via").REGEX_SELECT(re!NS-CACHE-\d\.\d:\s*\d{1,3}!) will select "NS-CACHE-7.0:
70"
regex- Regular Expression
Returns: text_tREPEAT (uint i)
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)
Returns: text_tSET_CHAR_SET (charset_e charset)
Set the character set to use for subsequent functions that use text.
Parameters (expressions not allowed):charset- Character Set
Returns: list_tSET_TEXT_MODE (textmode_e mode)
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. 1. %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://" 2. %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://" 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: 1. \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://" 2. \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://" 3. \\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://" 4. Occurences of "\b", "\n", "\t", "\f" and "\r" are translated to the corresponding ascii characters. 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
Returns: list_tSKIP (char c, uint i)
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 (expressions not allowed):c- Character
i- Count
Returns: text_tSKIP (uint i)
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
Returns: text_tSorts the elements of the list. For example, if the input list is 'b,a,c,d,f,e', then the result will be 'a,b,c,d,e,f'.
Returns: list_tSTARTSWITH_ANY (text_t patset_name)
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
Returns: bool_atSTARTSWITH_INDEX (text_t patset_name)
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
Returns: num_atSTARTSWITH (text_t start)
Results in Boolean TRUE value if a prefix of the Text object matches the string argument.
Parameters:start- String
Returns: bool_atSTRIP_CHARS (text_t s)
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.
s- String
Returns: text_tSelects 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.
s- String
Returns: text_tSelects the Text after stripping off white space in the end of the current Text object.
Returns: text_tSelects 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.
s- String
Returns: text_tSelects the Text after stripping off white space in the beginning of the current Text object.
Returns: text_tSUBSTR_ANY (text_t patset_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
Returns: text_tSUBSTR (uint start, uint len)
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
len- Length
Returns: text_tSelect the first Text object that matches the input string argument. The input string cannot be bigger than 255 characters.
Parameters (expressions not allowed):s- String
Returns: text_tSUFFIX (char c, uint i)
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 (expressions not allowed):c- Character
i- Count
Returns: text_tSUFFIX (uint i)
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
Returns: text_tConverts the selected text to lower case.
For example, the string "ABCd" is converted to "abcd"
Converts the selected text to upper case.
For example, the string "abcD" is converted to "ABCD"
TRUNCATE (char c, uint i)
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 (expressions not allowed):c- Character
i- Count
Returns: text_tTRUNCATE (uint i)
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
Returns: text_tConvert 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:
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_tConvert 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_atConvert 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)
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_tConvert 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_atTYPECAST_DOUBLE_T (double_format_e format)
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
Returns: double_tTYPECAST_DOUBLE_T (double_format_e format, double_at default_value)
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
default_value- Double
Returns: double_tTYPECAST_DOUBLE_T (double_format_e format, ip_address_at default_value)
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
default_value- Double
Returns: double_tTYPECAST_DOUBLE_T (double_format_e format, num_at default_value)
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
default_value- Double
Returns: double_tTYPECAST_DOUBLE_T (double_format_e format, time_at default_value)
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
default_value- Double
Returns: double_tTYPECAST_DOUBLE_T (double_format_e format, unsigned_long_at default_value)
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
default_value- Double
Returns: double_tConvert 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.)
Returns: http_cache_control_tTYPECAST_HTTP_CONTENT_LENGTH_T
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_tConvert 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_tConvert 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_tTYPECAST_HTTP_HEADER_T (text_t name)
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
Returns: http_header_tConvert 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_tConvert 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_tConvert 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_tConvert 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.)
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_tConvert 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 '+'.
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".
Similarly, CLIENT.IPV6.SRC + 5 should produce the result
ABCD:1234::ABCD5)
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_tConvert 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_atConvert 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_tTYPECAST_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
Returns: list_tConvert 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.)
Returns: mac_address_atConvert 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_tConvert 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_atTYPECAST_NUM_T (num_format_e format)
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
Returns: num_tTYPECAST_NUM_T (num_format_e format, num_at default_value)
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
default_value- Number
Returns: num_tTYPECAST_NVLIST_T (char sep1, char sep2)
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
sep2- delimiter2
Returns: nvlist_tTYPECAST_NVLIST_T (char sep1, char sep2, char quote)
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
sep2- delimiter2
quote- quote-character.
Returns: nvlist_tConvert 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_tConvert 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_tConvert 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_tConvert 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_tTYPECAST_SIP_HEADER_T (text_t name)
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
Returns: sip_header_tConvert 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_tConvert 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_tConvert 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_tConvert 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.)
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_tConvert 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_tConvert 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_tConvert 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)
Returns: tcp_options_tConvert 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)
Returns: tcp_options_type_tTYPECAST_TCP_REPEATER_OPTION_T
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)
Returns: tcp_repeater_option_tConvert 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_atConvert 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)
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_atTYPECAST_UNSIGNED_LONG_T (unsigned_long_format_e format)
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
Returns: unsigned_long_tTYPECAST_UNSIGNED_LONG_T (unsigned_long_format_e format, ip_address_at default_value)
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
default_value- Number
Returns: unsigned_long_tTYPECAST_UNSIGNED_LONG_T (unsigned_long_format_e format, unsigned_long_at default_value)
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
default_value- Number
Returns: unsigned_long_tTYPECAST_UNSIGNED_LONG_T (unsigned_long_format_e format, num_at default_value)
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
default_value- Number
Returns: unsigned_long_tTYPECAST_UNSIGNED_LONG_T (unsigned_long_format_e format, time_at default_value)
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
default_value- Number
Returns: unsigned_long_tTYPECAST_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:
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 /
c- Character
Returns: text_tXML_DECRYPT (text_t certKeyName)
Decrypt the selected content, which was encrypted using the W3C XML Encryption standard.
Parameters (expressions not allowed):certKeyName- identifies the X.509 certificate with the RSA private key to be used to decrypt the content.
Returns: text_tXML_ENCRYPT (text_t certKeyName, encrypt_method_e method)
Encrypt the selected cleartext using the W3C XML Encryption standard.
Parameters (expressions not allowed):certKeyName- identifies the RSA private key to be used to encrypt the content.
method- specifies the bulk encryption method (rc4, des3, aes128, aes192, or aes256).
Returns: text_tXML_ENCRYPT (text_t certKeyName, encrypt_method_e method, uint flags)
Encrypt the selected cleartext using the W3C XML Encryption standard.
Parameters (expressions not allowed):certKeyName- identifies the RSA private key to be used to encrypt the content.
method- specifies the bulk encryption method (rc4, des3, aes128, aes192, or aes256).
flags- optional bit mask to specify optional elements in the EncryptedData element. These are hints to tell the receiver what public key to use to decrypt the content, providing information from the certKey's X.509 certificate.
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.
xpathex- XPath Expression
Returns: text_tXPATH_HTML (xpath_bool xpathex)
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.
xpathex- XPath Expression
Returns: bool_atXPATH_HTML (xpath_double xpathex)
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.
xpathex- XPath Expression
Returns: double_atXPATH_HTML (xpath_str xpathex)
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.
xpathex- XPath Expression
Returns: text_tXPATH_JSON_WITH_MARKUP (xpath_str xpathex)
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.
xpathex- XPath Expression
Returns: text_tXPATH_JSON (xpath_bool xpathex)
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.
xpathex- XPath Boolean Expression
Returns: bool_atXPATH_JSON (xpath_double xpathex)
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.
xpathex- XPath Numeric Expression
Returns: double_atXPATH_JSON (xpath_str xpathex)
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".
xpathex- XPath Expression
Returns: text_tXPATH_WITH_MARKUP (xpath_str xpathex)
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:
xpathex- XPath Expression
Returns: text_tXPATH (xpath_bool xpathex)
xpath(1.0) expression evaluation. xpath operates on XML file and
returns boolean value.
Examples:
For the XML file:
xpathex- XPath Boolean Expression
Returns: bool_atXPATH (xpath_double xpathex)
xpath(1.0) expression evaluation. xpath operates on XML file and
returns double value.
Examples:
For the XML file:
xpathex- XPath Numeric Expression
Returns: double_atXPATH (xpath_str xpathex)
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:
xpathex- XPath Expression
Returns: text_t