From ad0de104c03f83beaceabe88df9a95114686bfb4 Mon Sep 17 00:00:00 2001 From: Aliaksandr Valialkin Date: Mon, 7 Dec 2015 09:33:08 +0200 Subject: [PATCH] Use New() function in copyBufPool --- http.go | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/http.go b/http.go index ad59788..d2404f5 100644 --- a/http.go +++ b/http.go @@ -513,9 +513,6 @@ type httpWriter interface { func writeBodyChunked(w *bufio.Writer, r io.Reader) error { vbuf := copyBufPool.Get() - if vbuf == nil { - vbuf = make([]byte, 4096) - } buf := vbuf.([]byte) var err error @@ -545,9 +542,6 @@ func writeBodyChunked(w *bufio.Writer, r io.Reader) error { func writeBodyFixedSize(w *bufio.Writer, r io.Reader, size int) error { vbuf := copyBufPool.Get() - if vbuf == nil { - vbuf = make([]byte, 4096) - } buf := vbuf.([]byte) n, err := io.CopyBuffer(w, r, buf) @@ -560,6 +554,12 @@ func writeBodyFixedSize(w *bufio.Writer, r io.Reader, size int) error { return err } +var copyBufPool = sync.Pool{ + New: func() interface{} { + return make([]byte, 4096) + }, +} + func writeChunk(w *bufio.Writer, b []byte) error { n := len(b) writeHexInt(w, n) @@ -569,8 +569,6 @@ func writeChunk(w *bufio.Writer, b []byte) error { return err } -var copyBufPool sync.Pool - // ErrBodyTooLarge is returned if either request or response body exceeds // the given limit. var ErrBodyTooLarge = errors.New("body size exceeds the given limit")