@marcel91200 / caddy Mirror · read-only / commits / d4b2f1bc
Fork 0

Fast and extensible multi-platform HTTP/1-2-3 web server with automatic HTTPS

Mirrored from https://github.com/Slazee/caddy.git

Synced Nov 14, 05:15 UTC

caddyhttp: Fix fallback for the error handler chain (#4131)

* caddyhttp: Fix fallback for the error handler chain The fix I went with in the end (after realizing some mistaken assumptions in #4131) is to just make the routes fall back to errorEmptyHandler instead of the non-error empty handler, if Terminal is true, making the routes error-aware. Ultimately this was probably just an oversight when errors was implemented at some point in the early betas of v2. See https://caddy.community/t/problem-with-basicauth-handle-errors/12243/9 for context. * Revert "caddyhttp: Fix fallback for the error handler chain" This reverts commit 95b6ac44a6122d3ca5513a13bbc723cd5f4785f8. * caddyhttp: Fix via `routes.go`

Francis Lavoie committed May 5, 2021 at 17:55 UTC d4b2f1bcee2190d13bc96aa8da5ea530bd6b9a22
1 file changed +5 -1
modules/caddyhttp/routes.go
+5 -1
@@ -220,7 +220,11 @@ func wrapRoute(route Route) Middleware {
220
221 // make terminal routes terminate
222 if route.Terminal {
223 - nextCopy = emptyHandler
223 + if _, ok := req.Context().Value(ErrorCtxKey).(error); ok {
224 + nextCopy = errorEmptyHandler
225 + } else {
226 + nextCopy = emptyHandler
227 + }
228 }
229
230 // compile this route's handler stack