Add filters: regex objects to perform substitutions on bodies
If the optional asfilter
parameter to re.regex()
is true, the
vmod registers itself as a Varnish Fetch Processor (VFP) for use in
beresp.filters
and as a Varnish Delivery Processor (VDP) for use in
resp.filters
. In this setup, the xregex.substitute_match()
and
xregex.substitute_all()
methods can be used to define replacements
for matches on the body.
Example:
sub vcl_init {
new reiher = re.regex("r(ei)h(er)", asfilter = true);
}
sub vcl_deliver {
unset req.http.Accept-Encoding;
set resp.filters += " reiher";
reiher.substitute_match(1, "czapla");
reiher.substitute_match(2, "\1\2");
reiher.substitute_match(0, "heron");
}