aboutsummaryrefslogtreecommitdiff
path: root/src/net
diff options
context:
space:
mode:
authorBrad Fitzpatrick <bradfitz@golang.org>2018-03-26 06:56:39 +0000
committerBrad Fitzpatrick <bradfitz@golang.org>2018-03-26 23:05:53 +0000
commit48db2c01b42d959f2d8fa0c24d853bdb6100cf8a (patch)
treec80a885e1971c4114d33c25e905def159be7f73c /src/net
parentf0eca373beb94763b71dadcf6504a95a3797dcbb (diff)
downloadgo-48db2c01b42d959f2d8fa0c24d853bdb6100cf8a.tar.xz
all: use strings.Builder instead of bytes.Buffer where appropriate
I grepped for "bytes.Buffer" and "buf.String" and mostly ignored test files. I skipped a few on purpose and probably missed a few others, but otherwise I think this should be most of them. Updates #18990 Change-Id: I5a6ae4296b87b416d8da02d7bfaf981d8cc14774 Reviewed-on: https://go-review.googlesource.com/102479 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')
-rw-r--r--src/net/http/cookie.go12
-rw-r--r--src/net/http/httptest/server.go4
-rw-r--r--src/net/mail/message.go3
-rw-r--r--src/net/url/url.go10
4 files changed, 12 insertions, 17 deletions
diff --git a/src/net/http/cookie.go b/src/net/http/cookie.go
index 38b1b3630e..3e80cb659a 100644
--- a/src/net/http/cookie.go
+++ b/src/net/http/cookie.go
@@ -5,7 +5,6 @@
package http
import (
- "bytes"
"log"
"net"
"strconv"
@@ -143,7 +142,7 @@ func (c *Cookie) String() string {
if c == nil || !isCookieNameValid(c.Name) {
return ""
}
- var b bytes.Buffer
+ var b strings.Builder
b.WriteString(sanitizeCookieName(c.Name))
b.WriteRune('=')
b.WriteString(sanitizeCookieValue(c.Value))
@@ -168,17 +167,14 @@ func (c *Cookie) String() string {
log.Printf("net/http: invalid Cookie.Domain %q; dropping domain attribute", c.Domain)
}
}
+ var buf [len(TimeFormat)]byte
if validCookieExpires(c.Expires) {
b.WriteString("; Expires=")
- b2 := b.Bytes()
- b.Reset()
- b.Write(c.Expires.UTC().AppendFormat(b2, TimeFormat))
+ b.Write(c.Expires.UTC().AppendFormat(buf[:0], TimeFormat))
}
if c.MaxAge > 0 {
b.WriteString("; Max-Age=")
- b2 := b.Bytes()
- b.Reset()
- b.Write(strconv.AppendInt(b2, int64(c.MaxAge), 10))
+ b.Write(strconv.AppendInt(buf[:0], int64(c.MaxAge), 10))
} else if c.MaxAge < 0 {
b.WriteString("; Max-Age=0")
}
diff --git a/src/net/http/httptest/server.go b/src/net/http/httptest/server.go
index 6075397a26..ebafc9999c 100644
--- a/src/net/http/httptest/server.go
+++ b/src/net/http/httptest/server.go
@@ -7,7 +7,6 @@
package httptest
import (
- "bytes"
"crypto/tls"
"crypto/x509"
"flag"
@@ -17,6 +16,7 @@ import (
"net/http"
"net/http/internal"
"os"
+ "strings"
"sync"
"time"
)
@@ -224,7 +224,7 @@ func (s *Server) Close() {
func (s *Server) logCloseHangDebugInfo() {
s.mu.Lock()
defer s.mu.Unlock()
- var buf bytes.Buffer
+ var buf strings.Builder
buf.WriteString("httptest.Server blocked in Close after 5 seconds, waiting for connections:\n")
for c, st := range s.conns {
fmt.Fprintf(&buf, " %T %p %v in state %v\n", c, c, c.RemoteAddr(), st)
diff --git a/src/net/mail/message.go b/src/net/mail/message.go
index 4f3184f3e8..5912b90334 100644
--- a/src/net/mail/message.go
+++ b/src/net/mail/message.go
@@ -19,7 +19,6 @@ package mail
import (
"bufio"
- "bytes"
"errors"
"fmt"
"io"
@@ -735,7 +734,7 @@ func isQtext(r rune) bool {
// quoteString renders a string as an RFC 5322 quoted-string.
func quoteString(s string) string {
- var buf bytes.Buffer
+ var buf strings.Builder
buf.WriteByte('"')
for _, r := range s {
if isQtext(r) || isWSP(r) {
diff --git a/src/net/url/url.go b/src/net/url/url.go
index cc6c5e26e4..4a815148bf 100644
--- a/src/net/url/url.go
+++ b/src/net/url/url.go
@@ -11,7 +11,6 @@ package url
// contain references to issue numbers with details.
import (
- "bytes"
"errors"
"fmt"
"sort"
@@ -737,7 +736,7 @@ func validOptionalPort(port string) bool {
// - if u.RawQuery is empty, ?query is omitted.
// - if u.Fragment is empty, #fragment is omitted.
func (u *URL) String() string {
- var buf bytes.Buffer
+ var buf strings.Builder
if u.Scheme != "" {
buf.WriteString(u.Scheme)
buf.WriteByte(':')
@@ -878,7 +877,7 @@ func (v Values) Encode() string {
if v == nil {
return ""
}
- var buf bytes.Buffer
+ var buf strings.Builder
keys := make([]string, 0, len(v))
for k := range v {
keys = append(keys, k)
@@ -886,12 +885,13 @@ func (v Values) Encode() string {
sort.Strings(keys)
for _, k := range keys {
vs := v[k]
- prefix := QueryEscape(k) + "="
+ keyEscaped := QueryEscape(k)
for _, v := range vs {
if buf.Len() > 0 {
buf.WriteByte('&')
}
- buf.WriteString(prefix)
+ buf.WriteString(keyEscaped)
+ buf.WriteByte('=')
buf.WriteString(QueryEscape(v))
}
}