From: Gyu-Ho Lee Date: Sun, 5 Jun 2016 06:26:12 +0000 (-0700) Subject: net/http/httputil: preallocate trailerKeys slice X-Git-Tag: go1.8beta1~1168 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=5bbb854cee2df329e031e50181ccc022c9d93a85;p=gostls13.git net/http/httputil: preallocate trailerKeys slice To prevent slice growths with append operations. Change-Id: Icdb745b23cc44dfaf3e16746b94c06997f814e15 Reviewed-on: https://go-review.googlesource.com/23784 Reviewed-by: Brad Fitzpatrick Run-TryBot: Brad Fitzpatrick TryBot-Result: Gobot Gobot --- diff --git a/src/net/http/httputil/reverseproxy.go b/src/net/http/httputil/reverseproxy.go index f8b60b6d33..76f23bcf9a 100644 --- a/src/net/http/httputil/reverseproxy.go +++ b/src/net/http/httputil/reverseproxy.go @@ -221,7 +221,7 @@ func (p *ReverseProxy) ServeHTTP(rw http.ResponseWriter, req *http.Request) { // The "Trailer" header isn't included in the Transport's response, // at least for *http.Transport. Build it up from Trailer. if len(res.Trailer) > 0 { - var trailerKeys []string + trailerKeys := make([]string, 0, len(res.Trailer)) for k := range res.Trailer { trailerKeys = append(trailerKeys, k) }