1
Fork 0
mirror of https://github.com/caddyserver/caddy.git synced 2024-12-16 21:56:40 -05:00

panic when reading from backend failed to propagate stream error (#5952)

This commit is contained in:
WeidiDeng 2023-11-23 16:18:18 +08:00 committed by GitHub
parent 878d491834
commit 4de2c1c65e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -962,10 +962,12 @@ func (h *Handler) finalizeResponse(
if err != nil { if err != nil {
// we're streaming the response and we've already written headers, so // we're streaming the response and we've already written headers, so
// there's nothing an error handler can do to recover at this point; // there's nothing an error handler can do to recover at this point;
// the standard lib's proxy panics at this point, but we'll just log // we'll just log the error and abort the stream here and panic just as
// the error and abort the stream here // the standard lib's proxy to propagate the stream error.
// see issue https://github.com/caddyserver/caddy/issues/5951
logger.Error("aborting with incomplete response", zap.Error(err)) logger.Error("aborting with incomplete response", zap.Error(err))
return nil // no extra logging from stdlib
panic(http.ErrAbortHandler)
} }
if len(res.Trailer) > 0 { if len(res.Trailer) > 0 {