# This config file aims to trigger all error detection cases in the ACL
# expression parser related to the fetch arguments.

# silence some warnings
defaults
	mode http
	timeout client 1s
	timeout server 1s
	timeout connect 1s

frontend 1
	bind :10000

	# missing fetch method in ACL expression '(arg)'.
	http-request deny if { (arg) }

	# unknown fetch method 'blah' in ACL expression 'blah(arg)'.
	http-request deny if { blah(arg) }

	# missing closing ')' after arguments to fetch keyword 'req.hdr' in ACL expression 'req.hdr('.
	http-request deny if { req.hdr( }

	# cannot be triggered : "returns type of fetch method '%s' is unknown"

	# fetch method 'always_true' : no argument supported, but got 'arg' in ACL expression 'always_true(arg)'.
	http-request deny if { always_true(arg) }

	# fetch method 'req.hdr' : failed to parse 'a' as type 'signed integer' at position 2 in ACL expression 'req.hdr(a,a)'.
	http-request deny if { req.hdr(a,a) }

	# in argument to 'payload_lv', payload length must be > 0.
	http-request deny if { payload_lv(0,0) }

	# ACL keyword 'payload_lv' : expected type 'unsigned integer' at position 1, but got nothing.
	http-request deny if { payload_lv }

