http: permit handlers to explicitly remove the Date header We'll do the right thing by default, but people wanting minimal response sizes can explicitly remove the Date header. (empty fields aren't written out) R=rsc CC=golang-dev https://golang.org/cl/4634048
diff --git a/src/pkg/http/serve_test.go b/src/pkg/http/serve_test.go index dc4594a..40de547 100644 --- a/src/pkg/http/serve_test.go +++ b/src/pkg/http/serve_test.go
@@ -781,6 +781,21 @@ } } +func TestNoDate(t *testing.T) { + ts := httptest.NewServer(HandlerFunc(func(w ResponseWriter, r *Request) { + w.Header()["Date"] = nil + })) + defer ts.Close() + res, err := Get(ts.URL) + if err != nil { + t.Fatal(err) + } + _, present := res.Header["Date"] + if present { + t.Fatalf("Expected no Date header; got %v", res.Header["Date"]) + } +} + type errorListener struct { errs []os.Error }
diff --git a/src/pkg/http/server.go b/src/pkg/http/server.go index bb47430..7f1b8a2 100644 --- a/src/pkg/http/server.go +++ b/src/pkg/http/server.go
@@ -254,7 +254,7 @@ } } - if w.header.Get("Date") == "" { + if _, ok := w.header["Date"]; !ok { w.Header().Set("Date", time.UTC().Format(TimeFormat)) }