Hi.
On 18.04.23 00:55, Jim Freeman wrote:
In splitting out fields from req.cook, populated fields work well, but
detecting an unset field has me befuddled:
acl COOK_META_MISSING req.cook(cook2hdr),field(3,\#) ! -m found -m str ''
does not detect that a cookie/field is empty ?
Running the attached 'hdrs' script against the attached haproxy.cfg sees :
===
...
cookie: cook2hdr=#####
bar: bar
baz: baz
meta: ,bar,baz
foo:
===
when foo: should not be created, and meta: should only have 2 fields.
Am I just getting the idiom/incantation wrong ?
[ stock/current haproxy 2.6 from Debian/Ubuntu LTS backports ]
A `haproxy -vv` is better then guessing which version this is :-)
Looks like the doc does not mention the empty field case.
https://docs.haproxy.org/2.6/configuration.html#7.3.1-field
From the code looks like that the data is set to 0
https://github.com/haproxy/haproxy/blob/master/src/sample.c#L2432
I would just try to make a '! -m found' but that's untested, I'm pretty
sure that some persons on this list have much more experience with empty
return values test.
Regards
Alex