1
0
mirror of https://github.com/golang/go synced 2024-11-15 03:40:29 -07:00
go/doc/next
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
..
6-stdlib net/http: keep Content-Encoding in Error, add GODEBUG for ServeContent 2024-06-18 19:33:10 +00:00
1-intro.md doc/initial, doc/next: add draft notice to introduction 2024-05-22 18:25:26 +00:00
2-language.md doc/next: add motivation and details links for range-over-func iterators 2024-06-17 22:41:42 +00:00
3-tools.md doc/next: update release notes for go list -m -json 2024-06-18 19:07:25 +00:00
4-runtime.md runtime: properly frame panic values in tracebacks 2024-05-08 19:10:41 +00:00
5-toolchain.md doc/next: document locking down linkname usages 2024-06-11 17:18:10 +00:00
7-ports.md doc/next: document GORISCV64 environment variable 2024-06-11 17:18:52 +00:00
9-todo.md doc/next: document GORISCV64 environment variable 2024-06-11 17:18:52 +00:00