Patrick,
Thank you for this work-around. I do see what you mentioned in the
documentation for the concat converter, but not for str(). Does not seem
to be a documented behavior in that case.
On 2/23/19 10:40 PM, Patrick Hemmer wrote:
On 2019/2/23 18:18, Nick Ramirez wrote:
If I set a variable like this:
/http-request set-var(txn.allowed_methods) str("GET,POST,PUT")/
Then I get an error:
/parsing [/etc/haproxy/haproxy.cfg:20] : error detected in frontend
'fe_proxy' while parsing 'http-request set-var(txn.allowed_methods)'
rule : fetch method 'str' : end of arguments expected at position 2,
but got ',POST,PUT,OPTIONS'./
This seems like HAProxy is parsing the comma as a delimiter between
arguments to the str() fetch method instead of including it as part
of the string that's surrounded by double quotes. Is this expected
behavior? If so, is there a work-around? Some way to escape commas in
a string passed to str()?
Nick Ramirez
Yes this is known behavior. In the config documentation, on some of
the keywords, you'll see:
> Note that due to the config parser, it is not possible to use a
comma nor a closing parenthesis as delimitors.
You can get around it by using converters, and some sort of encoded
text, such as URL or base64. For example:
str(GET%2CPOST%2CPUT),url_dec()
-Patrick