Appendix D: CPL Substitutions

This appendix lists all substitution variables available in CPL.

To use a variable in CPL, it is expressed as: $(<field-id>, such as $(cs-bodylength).

For fields that have both ELFF and CPL tokens, either token can be used. For example, $(cs-ip) and

$(proxy.address) are equivalent.

Note that $(request.x_header.<x-header-name>) and $(response.x_header.<x-header-name>)

are also valid substitutions, but are not included in the tables below, because they have no

corresponding ELFF tokens.

The available substitutions are organized in the following categories

• bytes • streaming
• connection • time
instant messaging (im) url
• req_rsp_line • user
• special_token • ci_request_header
• status • si_response_header
Category: bytes
ELFF CPL Description
cs-bodylength Number of bytes in the body (excludes
header) sent from client to appliance.
cs-bytes Number of bytes sent from client to
appliance.
cs-headerlength Number of bytes in the header sent from
client to appliance.
rs-bodylength Number of bytes in the body (excludes
header) sent from upstream host to
appliance.
rs-bytes Number of bytes sent from upstream host to
appliance.
rs-headerlength Number of bytes in the header sent from
upstream host to appliance.
sc-bodylength Number of bytes in the body (excludes
header) sent from appliance to client.
sc-bytes Number of bytes sent from appliance to
client.
sc-headerlength Number of bytes in the header sent from
appliance to client.
sr-bodylength Number of bytes in the body (excludes
header) sent from appliance to upstream
host.