go/doc/next/6-stdlib/99-minor/net/http
Damien Neil 879ace1434 net/http: keep Content-Encoding in Error, add GODEBUG for ServeContent
This reverts the changes to Error from CL 571995, and adds a
GODEBUG controlling the changes to ServeContent/ServeFile/ServeFS.

The change to remove the Content-Encoding header when serving an error
breaks middleware which sets Content-Encoding: gzip and wraps a
ResponseWriter in one which compresses the response body.

This middleware already breaks when ServeContent handles a Range request.
Correct uses of ServeContent which serve pre-compressed content with
a Content-Encoding: gzip header break if we don't remove that header
when serving errors. Therefore, we keep the change to ServeContent/
ServeFile/ServeFS, but we add the ability to disable the new behavior
by setting GODEBUG=httpservecontentkeepheaders=1.

We revert the change to Error, because users who don't want to include
a Content-Encoding header in errors can simply remove the header
themselves, or not add it in the first place.

Fixes #66343

Change-Id: Ic19a24b73624a5ac1a258ed7a8fe7d9bf86c6a38
Reviewed-on: https://go-review.googlesource.com/c/go/+/593157
Reviewed-by: Russ Cox <rsc@golang.org>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
2024-06-18 19:33:10 +00:00
..
httptest doc: make use of simpler symbol links for relnotes 2024-04-12 20:57:18 +00:00
46443.md doc: make symbol links simpler for relnotes 2024-04-19 14:33:17 +00:00
61472.md doc/go1.23: document "net/http".Request.CookiesNamed method 2024-03-20 18:08:20 +00:00
62490.md net/http: add partitioned attribute to cookie type 2024-05-22 18:33:05 +00:00
64910.md doc/next/64910.md: reword release note 2024-05-16 16:44:13 +00:00
66008.md net/http: add ParseCookie, ParseSetCookie 2024-04-17 17:43:50 +00:00
66343.md net/http: keep Content-Encoding in Error, add GODEBUG for ServeContent 2024-06-18 19:33:10 +00:00
66405.md net/http: add Pattern field in Request to return matched pattern info 2024-05-16 18:42:34 +00:00