Determining processing based on flags in a URL
I have a URL which will come in as
/features?features=10010001
where each '1' or '0' is a 'flag'. I need to check each flag in turn and depending on its value, XOR it with a matching flag stored as a preset in my iRule, and eventually return the result. The presets will be stored as variables called e.g. 'flag1', 'flag2' etc. So my processing would be to split the '10--01-00---01' string into an array of flags, process each element in the array, match it with the related preset variable, do the XOR and then return the XOR'ed string as a 200 response.
As a start, I'm trying to figure out the best way to convert the '10--01-00---01' string into an array of flags that I can process.
I hope the above makes sense.
that kinda works, except that the characters could potentially be 0, 1 or -
may we remove - before scanning?
% scan [string map {"-" ""} 10--01-00---01] %2d%2d%2d%2d a b c d 4 % put "$a $b $c $d" 10 1 0 1
by the way, if flag is only one digit each, can we use split?
% split [string map {"-" ""} 10--01-00---01] {} 1 0 0 1 0 0 0 1