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.