Add new header to disable HTTP middle box buffer

Co-Authored-By: 风扇滑翔翼 <Fangliding.fshxy@outlook.com>
This commit is contained in:
mmmray 2024-06-28 09:35:53 +02:00 committed by 风扇滑翔翼
parent e4f9d03bef
commit c0f3bf66fd
No known key found for this signature in database
GPG key ID: 67746ECEFA41C2B4

View file

@ -161,6 +161,9 @@ func (h *requestHandler) ServeHTTP(writer http.ResponseWriter, request *http.Req
// magic header instructs nginx + apache to not buffer response body // magic header instructs nginx + apache to not buffer response body
writer.Header().Set("X-Accel-Buffering", "no") writer.Header().Set("X-Accel-Buffering", "no")
// magic header to make the HTTP middle box consider this as SSE to disable buffer
writer.Header().Set("Content-Type", "text/event-stream")
writer.WriteHeader(http.StatusOK) writer.WriteHeader(http.StatusOK)
// send a chunk immediately to enable CDN streaming. // send a chunk immediately to enable CDN streaming.
// many CDN buffer the response headers until the origin starts sending // many CDN buffer the response headers until the origin starts sending