]> Cypherpunks.ru repositories - gostls13.git/commitdiff
net/http: refactored internal shouldClose for readability
authorEmmanuel Odeke <emm.odeke@gmail.com>
Fri, 19 Feb 2016 10:10:56 +0000 (02:10 -0800)
committerBrad Fitzpatrick <bradfitz@golang.org>
Thu, 25 Feb 2016 19:11:55 +0000 (19:11 +0000)
Change-Id: Ie89c0945a4cc3aebfa9f7ad7f107bc7ab59ab61c
Reviewed-on: https://go-review.googlesource.com/19685
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>

src/net/http/transfer.go

index 6e59af8f6f4fe9ab00cd813fc360c4f03121987f..7ff4953a14ab568b20e70c32e7433a92f02587c5 100644 (file)
@@ -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