aboutsummaryrefslogtreecommitdiff
path: root/src/net/http/httputil/reverseproxy_test.go
diff options
context:
space:
mode:
authorBrad Fitzpatrick <bradfitz@golang.org>2019-01-09 15:06:20 +0000
committerBrad Fitzpatrick <bradfitz@golang.org>2019-01-09 15:51:59 +0000
commita14ed2a82a1563ba89e1f22ab517bf3c9abe416f (patch)
tree2bd87548d3b8d3735cc246111a0cb27161fd37ef /src/net/http/httputil/reverseproxy_test.go
parent99ea99ec4ca727ec3408521b07a6eb6a6bd3b829 (diff)
downloadgo-a14ed2a82a1563ba89e1f22ab517bf3c9abe416f.tar.gz
go-a14ed2a82a1563ba89e1f22ab517bf3c9abe416f.zip
net/http/httputil: run the ReverseProxy.ModifyResponse hook for upgrades
Fixes #29627 Change-Id: I08a5b45151a11b5a4f3b5a2d984c0322cf904697 Reviewed-on: https://go-review.googlesource.com/c/157098 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
Diffstat (limited to 'src/net/http/httputil/reverseproxy_test.go')
-rw-r--r--src/net/http/httputil/reverseproxy_test.go8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/net/http/httputil/reverseproxy_test.go b/src/net/http/httputil/reverseproxy_test.go
index bda569acc7..5edefa08e5 100644
--- a/src/net/http/httputil/reverseproxy_test.go
+++ b/src/net/http/httputil/reverseproxy_test.go
@@ -1012,6 +1012,10 @@ func TestReverseProxyWebSocket(t *testing.T) {
backURL, _ := url.Parse(backendServer.URL)
rproxy := NewSingleHostReverseProxy(backURL)
rproxy.ErrorLog = log.New(ioutil.Discard, "", 0) // quiet for tests
+ rproxy.ModifyResponse = func(res *http.Response) error {
+ res.Header.Add("X-Modified", "true")
+ return nil
+ }
handler := http.HandlerFunc(func(rw http.ResponseWriter, req *http.Request) {
rw.Header().Set("X-Header", "X-Value")
@@ -1049,6 +1053,10 @@ func TestReverseProxyWebSocket(t *testing.T) {
}
defer rwc.Close()
+ if got, want := res.Header.Get("X-Modified"), "true"; got != want {
+ t.Errorf("response X-Modified header = %q; want %q", got, want)
+ }
+
io.WriteString(rwc, "Hello\n")
bs := bufio.NewScanner(rwc)
if !bs.Scan() {