]> Cypherpunks repositories - gostls13.git/commitdiff
net/http/httputil: fix spelling of Trailer hop-by-hop header per errata
authorBrad Fitzpatrick <bradfitz@golang.org>
Mon, 1 Feb 2016 15:58:34 +0000 (15:58 +0000)
committerBrad Fitzpatrick <bradfitz@golang.org>
Tue, 2 Feb 2016 18:39:47 +0000 (18:39 +0000)
RFC Errata 4522 (http://www.rfc-editor.org/errata_search.php?eid=4522)
notes that RFC 2616 had a typo in a list of headers that the
httputil.ReverseProxy code copied. Fix the typo in our code.

Fixes #14174

Change-Id: Ifc8f18fd58a6508a02a23e54ff3c473f03e521d3
Reviewed-on: https://go-review.googlesource.com/19133
Reviewed-by: Russ Cox <rsc@golang.org>
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>

src/net/http/httputil/reverseproxy.go
src/net/http/httputil/reverseproxy_test.go

index 4dba352a4fa5110f94c2e3a012533fc2784e639f..38987d7a741957e82e9ee36c9b0d70c025abe08c 100644 (file)
@@ -109,8 +109,8 @@ var hopHeaders = []string{
        "Keep-Alive",
        "Proxy-Authenticate",
        "Proxy-Authorization",
-       "Te", // canonicalized version of "TE"
-       "Trailers",
+       "Te",      // canonicalized version of "TE"
+       "Trailer", // not Trailers per URL above; http://www.rfc-editor.org/errata_search.php?eid=4522
        "Transfer-Encoding",
        "Upgrade",
 }
index 7f203d878f544ec5d222c6b91447542411296fe5..72662ccdc5c7e44e055b14546409a98ecdd062c3 100644 (file)
@@ -48,6 +48,7 @@ func TestReverseProxy(t *testing.T) {
                if g, e := r.Host, "some-name"; g != e {
                        t.Errorf("backend got Host header %q, want %q", g, e)
                }
+               w.Header().Set("Trailers", "not a special header field name")
                w.Header().Set("Trailer", "X-Trailer")
                w.Header().Set("X-Foo", "bar")
                w.Header().Set("Upgrade", "foo")
@@ -86,6 +87,9 @@ func TestReverseProxy(t *testing.T) {
        if c := res.Header.Get(fakeHopHeader); c != "" {
                t.Errorf("got %s header value %q", fakeHopHeader, c)
        }
+       if g, e := res.Header.Get("Trailers"), "not a special header field name"; g != e {
+               t.Errorf("header Trailers = %q; want %q", g, e)
+       }
        if g, e := len(res.Header["X-Multi-Value"]), 2; g != e {
                t.Errorf("got %d X-Multi-Value header values; expected %d", g, e)
        }