* headers: Check each ? default on its own and keep the response matcher Several ? defaults in one header block shared one require, so a single field already set on the response blocked all of them. A match in the block was also dropped for the ? fields, so they were set on every response. * headers: Reject a response matcher on a field that also has a ? default A ? default already requires its field to be absent, so a match on the same field in that block could only be dropped or never be true. It is now a Caddyfile error. * headers: Test that the last ? default for a field wins * headers: Allow an absence matcher on a field with a ? default `match header !X-Test` asks for what `?X-Test` already requires, so it loads again. Only a matcher that needs a value on that field is an error. |
||
|---|---|---|
| .. | ||
| integration | ||
| a.caddy.localhost.crt | ||
| a.caddy.localhost.key | ||
| caddy.ca.cer | ||
| caddy.localhost.crt | ||
| caddy.localhost.key | ||
| caddytest.go | ||
| caddytest_test.go | ||
| leafcert.pem | ||