]> Cypherpunks repositories - gostls13.git/commitdiff
http: write Header keys with empty values
authorBrad Fitzpatrick <bradfitz@golang.org>
Mon, 20 Jun 2011 21:36:03 +0000 (14:36 -0700)
committerBrad Fitzpatrick <bradfitz@golang.org>
Mon, 20 Jun 2011 21:36:03 +0000 (14:36 -0700)
R=golang-dev, rsc, r
CC=golang-dev
https://golang.org/cl/4630052

src/pkg/http/header.go
src/pkg/http/header_test.go

index 95140b01f2a84ddfba3a1c3546b7a5ec848bd9de..95a25a814bde11435337512bfb4e2097c9c2f4ab 100644 (file)
@@ -62,9 +62,6 @@ func (h Header) WriteSubset(w io.Writer, exclude map[string]bool) os.Error {
                        v = strings.Replace(v, "\n", " ", -1)
                        v = strings.Replace(v, "\r", " ", -1)
                        v = strings.TrimSpace(v)
-                       if v == "" {
-                               continue
-                       }
                        if _, err := fmt.Fprintf(w, "%s: %s\r\n", k, v); err != nil {
                                return err
                        }
index 7e24cb069c632a5320c308ae8268929bc7f78b83..ccdee8a97bdef352fc1f8b18b0be3bc7256c60ed 100644 (file)
@@ -57,6 +57,16 @@ var headerWriteTests = []struct {
                map[string]bool{"Content-Length": true, "Expires": true, "Content-Encoding": true},
                "",
        },
+       {
+               Header{
+                       "Nil":          nil,
+                       "Empty":        {},
+                       "Blank":        {""},
+                       "Double-Blank": {"", ""},
+               },
+               nil,
+               "Blank: \r\nDouble-Blank: \r\nDouble-Blank: \r\n",
+       },
 }
 
 func TestHeaderWrite(t *testing.T) {