aboutsummaryrefslogtreecommitdiff
path: root/src/net/http
diff options
context:
space:
mode:
Diffstat (limited to 'src/net/http')
-rw-r--r--src/net/http/server.go17
1 files changed, 3 insertions, 14 deletions
diff --git a/src/net/http/server.go b/src/net/http/server.go
index c15f0f58cb..bb31761ade 100644
--- a/src/net/http/server.go
+++ b/src/net/http/server.go
@@ -567,16 +567,12 @@ type writerOnly struct {
// to a *net.TCPConn with sendfile, or from a supported src type such
// as a *net.TCPConn on Linux with splice.
func (w *response) ReadFrom(src io.Reader) (n int64, err error) {
- bufp := copyBufPool.Get().(*[]byte)
- buf := *bufp
- defer copyBufPool.Put(bufp)
-
// Our underlying w.conn.rwc is usually a *TCPConn (with its
// own ReadFrom method). If not, just fall back to the normal
// copy method.
rf, ok := w.conn.rwc.(io.ReaderFrom)
if !ok {
- return io.CopyBuffer(writerOnly{w}, src, buf)
+ return io.Copy(writerOnly{w}, src)
}
// Copy the first sniffLen bytes before switching to ReadFrom.
@@ -584,7 +580,7 @@ func (w *response) ReadFrom(src io.Reader) (n int64, err error) {
// source is available (see golang.org/issue/5660) and provides
// enough bytes to perform Content-Type sniffing when required.
if !w.cw.wroteHeader {
- n0, err := io.CopyBuffer(writerOnly{w}, io.LimitReader(src, sniffLen), buf)
+ n0, err := io.Copy(writerOnly{w}, io.LimitReader(src, sniffLen))
n += n0
if err != nil || n0 < sniffLen {
return n, err
@@ -602,7 +598,7 @@ func (w *response) ReadFrom(src io.Reader) (n int64, err error) {
return n, err
}
- n0, err := io.CopyBuffer(writerOnly{w}, src, buf)
+ n0, err := io.Copy(writerOnly{w}, src)
n += n0
return n, err
}
@@ -799,13 +795,6 @@ var (
bufioWriter4kPool sync.Pool
)
-var copyBufPool = sync.Pool{
- New: func() any {
- b := make([]byte, 32*1024)
- return &b
- },
-}
-
func bufioWriterPool(size int) *sync.Pool {
switch size {
case 2 << 10: