caddy/caddytest/integration
Jay Hemnani 0584875297
headers: evaluate conditional defaults independently (#8217)
* 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.
2026-10-16 22:32:44 +10:00
..
caddyfile_adapt caddyhttp, reverseproxy: experimental WebTransport passthrough (#7669) 2026-10-12 23:24:10 -04:00
testdata fix(caddyfile): {block} in snippet (#7558) 2026-04-15 02:58:53 -04:00
acme_test.go logging: Ensure `slog` error level logs don't print stack traces (#7512) 2026-03-03 14:44:42 -07:00
acmeserver_test.go chore: Add nolints to work around haywire linters (#7493) 2026-02-17 16:52:54 -07:00
autohttps_test.go caddyhttp: prefer port 443 in auto-HTTPS and add tests (#7666) 2026-04-23 17:29:03 +10:00
caddyfile_adapt_test.go
…
caddyfile_test.go headers: evaluate conditional defaults independently (#8217) 2026-10-16 22:32:44 +10:00
ech_test.go caddytls: Send ECH retry configs when rejecting ECH (#8142) 2026-10-06 08:54:39 +10:00
fastcgi_chunked_test.go fastcgi: explain the 411 a body without a length gets (#7956) 2026-09-23 09:31:54 -06:00
forwardauth_test.go Merge commit from fork 2026-08-11 08:00:15 -06:00
h2listener_test.go caddyhttp: wrap accepted connection to suppress tls.ConnectionState (#7247) 2025-10-16 03:13:40 +00:00
handler_test.go caddyhttp: surface 413 for oversized request body placeholders (#7969) 2026-09-25 22:27:19 +10:00
intercept_test.go intercept: fix replace_status being silently dropped (#7810) 2026-06-12 15:50:58 -06:00
leafcertloaders_test.go
…
listener_test.go use math/rand/v2 instead of math/rand (#7413) 2026-02-11 09:15:51 -07:00
logging_test.go caddyhttp: ignore case when matching hosts in logger_names (#8176) 2026-10-09 21:15:23 +00:00
map_test.go map: reject malformed destination placeholders (#8074) 2026-09-28 22:19:51 +10:00
mockdns_test.go
…
panic_test.go caddyhttp: log recovered handler panics at ERROR level (#7924) 2026-08-10 02:18:17 -04:00
phpfastcgi_test.go Merge commit from fork 2026-10-13 10:13:03 -06:00
pki_test.go admin: Fix tests locally, properly isolate storage (#7486) 2026-02-17 13:14:06 -07:00
proxyprotocol_test.go proxyproto: Generated test coverage (#7540) 2026-03-03 15:08:09 -07:00
request_body_timeout_test.go caddyhttp: preserve expired request-body read deadlines (#8178) 2026-10-10 10:40:46 +00:00
reverseproxy_extended_connect_test.go reverseproxy: Optionally detach stream (websockets) from config lifecycle (#7649) 2026-10-04 07:45:10 -04:00
reverseproxy_test.go reverseproxy: Don't drop read errors with unlimited buffers (#8207) 2026-10-14 00:25:34 +10:00
reverseproxy_upgrade_handlers_test.go reverseproxy: Optionally detach stream (websockets) from config lifecycle (#7649) 2026-10-04 07:45:10 -04:00
rewrite_security_test.go Merge commit from fork 2026-09-14 12:50:44 -06:00
sni_test.go
…
stream_reload_stress_test.go reverseproxy: Optionally detach stream (websockets) from config lifecycle (#7649) 2026-10-04 07:45:10 -04:00
stream_test.go chore: clean up wording and typo fixes (#7745) 2026-05-20 16:36:30 +10:00
try_files_test.go caddyhttp: skip matchers for satisfied route groups (#8189) 2026-10-11 06:50:13 +10:00
webtransport_echo_test.go caddyhttp, reverseproxy: experimental WebTransport passthrough (#7669) 2026-10-12 23:24:10 -04:00
webtransport_test.go caddyhttp, reverseproxy: experimental WebTransport passthrough (#7669) 2026-10-12 23:24:10 -04:00