Commit 22dafc9b authored by Brad Fitzpatrick's avatar Brad Fitzpatrick

http: fix failing Transport HEAD request with gzip-looking response

We only want to attempt to un-gzip if there's a body (not in
response to a HEAD)

This was accidentally passing before, but revealed to be broken
when c3c6e72d7cc went in.

R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/5477093
parent 6890afd9
......@@ -539,12 +539,13 @@ func (pc *persistConn) readLoop() {
resp, err := ReadResponse(pc.br, rc.req)
if err == nil {
if rc.addedGzip && resp.Header.Get("Content-Encoding") == "gzip" {
hasBody := rc.req.Method != "HEAD" && resp.ContentLength != 0
if rc.addedGzip && hasBody && resp.Header.Get("Content-Encoding") == "gzip" {
resp.Header.Del("Content-Encoding")
resp.Header.Del("Content-Length")
resp.ContentLength = -1
gzReader, zerr := gzip.NewReader(resp.Body)
if err != nil {
if zerr != nil {
pc.close()
err = zerr
} else {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment