From 945d199724f17f313c7fbc90eceba70fe37f47e6 Mon Sep 17 00:00:00 2001 From: TowyTowy <85077986+TowyTowy@users.noreply.github.com> Date: Fri, 10 Jul 2026 07:40:23 +0200 Subject: [PATCH] reverseproxy: fix misleading handle_response error for extra matcher args (#7869) Co-authored-by: Claude Fable 5 --- ...e_proxy_handle_response_too_many_args.caddyfiletest | 10 ++++++++++ modules/caddyhttp/reverseproxy/caddyfile.go | 7 +------ 2 files changed, 11 insertions(+), 6 deletions(-) create mode 100644 caddytest/integration/caddyfile_adapt/reverse_proxy_handle_response_too_many_args.caddyfiletest diff --git a/caddytest/integration/caddyfile_adapt/reverse_proxy_handle_response_too_many_args.caddyfiletest b/caddytest/integration/caddyfile_adapt/reverse_proxy_handle_response_too_many_args.caddyfiletest new file mode 100644 index 000000000..5bc3121c3 --- /dev/null +++ b/caddytest/integration/caddyfile_adapt/reverse_proxy_handle_response_too_many_args.caddyfiletest @@ -0,0 +1,10 @@ +localhost:8884 { + reverse_proxy localhost:8000 { + handle_response header Foo { + respond "handled" + } + } +} + +---------- +parsing caddyfile tokens for 'reverse_proxy': too many arguments for 'handle_response': only a single response matcher name is allowed, but got: [header Foo] diff --git a/modules/caddyhttp/reverseproxy/caddyfile.go b/modules/caddyhttp/reverseproxy/caddyfile.go index 8716babe3..4661f8863 100644 --- a/modules/caddyhttp/reverseproxy/caddyfile.go +++ b/modules/caddyhttp/reverseproxy/caddyfile.go @@ -923,13 +923,8 @@ func (h *Handler) FinalizeUnmarshalCaddyfile(helper httpcaddyfile.Helper) error d.Next() args := d.RemainingArgs() - // TODO: Remove this check at some point in the future - if len(args) == 2 { - return d.Errf("configuring 'handle_response' for status code replacement is no longer supported. Use 'replace_status' instead.") - } - if len(args) > 1 { - return d.Errf("too many arguments for 'handle_response': %s", args) + return d.Errf("too many arguments for 'handle_response': only a single response matcher name is allowed, but got: %s", args) } var matcher *caddyhttp.ResponseMatcher