diff options
author | Michael Anthony Knyszek <mknyszek@google.com> | 2021-12-03 11:58:15 -0500 |
---|---|---|
committer | Michael Anthony Knyszek <mknyszek@google.com> | 2021-12-03 11:58:15 -0500 |
commit | c884bd9ef2f1f36a98fa89bb4be07d4f9fe66589 (patch) | |
tree | f0543c1806db096c0ab766a14f05d2725e6c0791 /src/net/http/server.go | |
parent | 06a4b2790c5bb6530e0c4f05277b19c187134f49 (diff) | |
parent | 8faefcbfce6d2b2875ab74d81bb4e94b2e3adaf5 (diff) | |
download | go-c884bd9ef2f1f36a98fa89bb4be07d4f9fe66589.tar.gz go-c884bd9ef2f1f36a98fa89bb4be07d4f9fe66589.zip |
[dev.boringcrypto.go1.16] all: merge go1.16.11 into dev.boringcrypto.go1.16
Change-Id: I38f5b727d23d22238bf6886a7e33b5f72edeaa38
Diffstat (limited to 'src/net/http/server.go')
-rw-r--r-- | src/net/http/server.go | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/net/http/server.go b/src/net/http/server.go index 198102ffd2..f9e518416d 100644 --- a/src/net/http/server.go +++ b/src/net/http/server.go @@ -1407,11 +1407,11 @@ func (cw *chunkWriter) writeHeader(p []byte) { hasCL = false } - if w.req.Method == "HEAD" || !bodyAllowedForStatus(code) { - // do nothing - } else if code == StatusNoContent { + if w.req.Method == "HEAD" || !bodyAllowedForStatus(code) || code == StatusNoContent { + // Response has no body. delHeader("Transfer-Encoding") } else if hasCL { + // Content-Length has been provided, so no chunking is to be done. delHeader("Transfer-Encoding") } else if w.req.ProtoAtLeast(1, 1) { // HTTP/1.1 or greater: Transfer-Encoding has been set to identity, and no @@ -1422,6 +1422,7 @@ func (cw *chunkWriter) writeHeader(p []byte) { if hasTE && te == "identity" { cw.chunking = false w.closeAfterReply = true + delHeader("Transfer-Encoding") } else { // HTTP/1.1 or greater: use chunked transfer encoding // to avoid closing the connection at EOF. |