]> Cypherpunks repositories - gostls13.git/commit
net/http: prevent transport sends two "Connection: close" headers
authorMeng Zhuo <mengzhuo1203@gmail.com>
Tue, 27 Nov 2018 08:16:43 +0000 (16:16 +0800)
committerBrad Fitzpatrick <bradfitz@golang.org>
Wed, 28 Nov 2018 21:33:21 +0000 (21:33 +0000)
commit9aadbf5755dc8e3c3b0a224f513c92b804a1a3a7
treeb2f0bece0b962e59469027ee43a86c52a08c8009
parent4f15b54780af7159732794f9d67c9a8a455bbf61
net/http: prevent transport sends two "Connection: close" headers

There are three functions that do Connection header write:
1. transport.go/ persistConn.roundTrip
2. transfer.go/ transferWriter.writeHeader
3. request.go/ Request.write

The root cause is roundTrip didn't lookup into request.Close and
transferWriter
didn't take care of extraHeaders.

Fixes #28886

Change-Id: I1d131019c7cd42eb1bcc972c631b7df7511c1f39
Reviewed-on: https://go-review.googlesource.com/c/150722
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
src/net/http/request.go
src/net/http/transport.go
src/net/http/transport_test.go