-
-
Notifications
You must be signed in to change notification settings - Fork 187
Description
The documentation for the header matcher (https://caddyserver.com/docs/caddyfile/matchers#header) is quite confusing in terms of how to match multiple (OR'd) values for the same field.
Currently, it reads header <field> [<value> ...], which strongly implies that header Field a b c should be valid syntax, however this yields the error Error: adapting config using caddyfile: parsing caddyfile tokens for 'route': malformed header matcher: expected both field and value.
I was eventually able to figure out that Different header fields within the same set are AND-ed. Multiple values per field are OR'ed. means that the following syntax is the intended way to specify multiple OR'd values:
@match {
header Field a
header Field b
header Field c
}
This is very confusing, as in most if not all other places multiple values that get OR'd in matchers are put on the same line, while values that get AND'd get put on multiple lines.
While ideally this syntax would simply be supported in caddy, as it seems like the intuitive syntax given how matchers are specified otherwise, this behavior being clarified in the docs would already go a long way.