REWRITE::payload¶
Description¶
Queries for or manipulates REWRITE payload (content) information. With
this command, you can retrieve content, query for content size, or
replace a certain amount of content.
Syntax¶
REWRITE::payload <length>
REWRITE::payload length
REWRITE::payload replace <begin> <length> <string>
REWRITE::payload <length>¶
- Returns the entire payload or up to the length in bytes. If you do not specify a size, the system returns the entire collected content.
REWRITE::payload replace <begin> <length> <string>¶
- Replaces the amount of content that you specified with the argument, starting at with , adjusting the Content-Length header appropriately. To clarify, the length argument should be the length of original content to replace.
Examples¶
when REWRITE_RESPONSE_DONE {
# The rewrite_response_done event isn't absolutely necessary because browser will just ignore any html tags that it doesn't recongnize.
# However, it will be cleaner if we remove it nevertheless
set data [REWRITE::payload]
# Find the tags we inserted
set start [string first {<apm_do_not_touch>} $data]
set end [string last {</apm_do_not_touch>} $data]
# Determines the amount of characters to remove
set length_open [string length {<apm_do_not_touch>}]
set length_close [string length {</apm_do_not_touch>}]
# log local0. "Starting Index:: $start"
# log local0. "Ending Index:: $end"
# Replace the number of characters taken up by the tags with nothing (e.g. null)
REWRITE::payload replace $end $length_close {}
REWRITE::payload replace $start $length_open {}
}