summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFrancis Lavoie <lavofr@gmail.com>2021-08-23 13:54:28 -0400
committerGitHub <noreply@github.com>2021-08-23 11:54:28 -0600
commitf70a7578faa1ab9169bc05a121911bf33d7d3da3 (patch)
tree5aa67acf0d5bec0b3eeddaa2509a0a064e27971f
parent51f125bd44be41d6220f0c134b6a402a85f80ad6 (diff)
reverseproxy: Remove redundant flushing (#4299)
From reading through the code, I think this code path is now obsoleted by the changes made in https://github.com/caddyserver/caddy/pull/4266. Basically, `h.flushInterval()` will set the flush interval to `-1` if we're in a bi-directional stream, and the recent PR ensured that `h.copyResponse()` properly flushes headers immediately when the flush interval is non-zero. So now there should be no need to call Flush before calling `h.copyResponse()`.
-rw-r--r--modules/caddyhttp/reverseproxy/reverseproxy.go9
1 files changed, 0 insertions, 9 deletions
diff --git a/modules/caddyhttp/reverseproxy/reverseproxy.go b/modules/caddyhttp/reverseproxy/reverseproxy.go
index 633cc65..671ea04 100644
--- a/modules/caddyhttp/reverseproxy/reverseproxy.go
+++ b/modules/caddyhttp/reverseproxy/reverseproxy.go
@@ -691,15 +691,6 @@ func (h *Handler) reverseProxy(rw http.ResponseWriter, req *http.Request, repl *
}
rw.WriteHeader(res.StatusCode)
-
- // some apps need the response headers before starting to stream content with http2,
- // so it's important to explicitly flush the headers to the client before streaming the data.
- // (see https://github.com/caddyserver/caddy/issues/3556 for use case and nuances)
- if h.isBidirectionalStream(req, res) {
- if wf, ok := rw.(http.Flusher); ok {
- wf.Flush()
- }
- }
err = h.copyResponse(rw, res.Body, h.flushInterval(req, res))
res.Body.Close() // close now, instead of defer, to populate res.Trailer
if err != nil {