querystring.regfilter_except
Available inall subroutines.
Returns the given URL but only keeps the parameters matching a regular expression. Groups within the regular expression are treated as if they were written as non-capturing groups. For example:
if (req.url.qs ~ "key-(?:[0-9]|\w)=(.*)-(.*)") { # captures to re.group.1 and re.group.2 set req.url = querystring.regfilter_except(req.url, "key-([0-9]|\w)"); # does not capture set req.http.X-Key-1 = re.group.1; set req.http.X-Key-2 = re.group.2;}
The "key-([0-9]|\w)"
pattern shown here behaves as if it were written as a
non-capturing group, "key-(?:[0-9]|\w)"
, ensuring the contents of
re.group.1
and re.group.2
are not affected by the call to
querystring.regfilter_except()
.
Example
set req.url = querystring.regfilter_except(req.url, "^(q|p)$");
User contributed notes
BETADo you see an error in this page? Do have an interesting use case, example or edge case people should know about? Share your knowledge and help people who are reading this page! (Comments are moderated; for support, please contact support@fastly.com)