From: Emmanuel Odeke Date: Fri, 19 Feb 2016 10:10:56 +0000 (-0800) Subject: net/http: refactored internal shouldClose for readability X-Git-Tag: go1.7beta1~1722 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=d44088f173efab62a25be9cf1f26c29982fc2617;p=gostls13.git net/http: refactored internal shouldClose for readability Change-Id: Ie89c0945a4cc3aebfa9f7ad7f107bc7ab59ab61c Reviewed-on: https://go-review.googlesource.com/19685 Reviewed-by: Brad Fitzpatrick Run-TryBot: Brad Fitzpatrick TryBot-Result: Gobot Gobot --- diff --git a/src/net/http/transfer.go b/src/net/http/transfer.go index 6e59af8f6f..7ff4953a14 100644 --- a/src/net/http/transfer.go +++ b/src/net/http/transfer.go @@ -558,21 +558,19 @@ func fixLength(isResponse bool, status int, requestMethod string, header Header, func shouldClose(major, minor int, header Header, removeCloseHeader bool) bool { if major < 1 { return true - } else if major == 1 && minor == 0 { - vv := header["Connection"] - if headerValuesContainsToken(vv, "close") || !headerValuesContainsToken(vv, "keep-alive") { - return true - } - return false - } else { - if headerValuesContainsToken(header["Connection"], "close") { - if removeCloseHeader { - header.Del("Connection") - } - return true - } } - return false + + conv := header["Connection"] + hasClose := headerValuesContainsToken(conv, "close") + if major == 1 && minor == 0 { + return hasClose || !headerValuesContainsToken(conv, "keep-alive") + } + + if hasClose && removeCloseHeader { + header.Del("Connection") + } + + return hasClose } // Parse the trailer header