Download full document:

HTTP_CACHE_CONTROL_T

This object provides for the ability to work on HTTP Cache-Control headers.

This topic lists the expressions that are provided by this class.

Note:Expressions with the *symbol are inherited/promoted from http_header_t, nvlist_at.

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

HTTP/1.1 200 OK\r\n MyHdr: 111abc\r\n Content-Length: 200\r\n MyHdr: 111def\r\n \r\n

Examples: HTTP.RES.HEADER("MyHdr").AFTER_STR("111") selects "def" in the last instance of MyHdr, the one with value "111def". HTTP.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: HTTP.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.

HTTP/1.1 200 OK\r\n MyHdr: abc111\r\n Content-Length: 200\r\n MyHdr: def111\r\n \r\n

Examples: HTTP.RES.HEADER("MyHdr").BEFORE_STR("111") selects "def" in the last instance of MyHdr, the one with value "def111". HTTP.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 / HTTP/1.1\r\n Host: abc.com\r\n MyHdr: abc\r\n Content-Length: 200\r\n MyHdr: def\r\n

HTTP/1.1 200 OK\r\n MyHdr: abc\r\n Content-Length: 200\r\n MyHdr: def\r\n \r\n

Examples: HTTP.RES.HEADER("MyHdr").CONTAINS("de") is TRUE. HTTP.RES.HEADER("MyHdr").CONTAINS("bcd") is FALSE. HTTP.REQ.HEADER("MyHdr").CONTAINS("de") is TRUE. HTTP.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

Return a Number Value giving the number of name-value components in the list. If the last Name-Value List component is of zero length or is all spaces then it is ignored.

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

* 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(expressions not allowed):

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(expressions not allowed):

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(expressions not allowed):

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(expressions not allowed):

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(expressions not allowed):

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".
  • Parameters(expressions not allowed):

    urlset_name -
    urlset name

    Returns: text_t