Skip to content

Commit 68980ee

Browse files
cuiweixiepull[bot]
authored andcommitted
net/http: use strings.Builder
Change-Id: I754edcf21e003a3f4037fb2c5d8d06f2cd5f2fa3 Reviewed-on: https://go-review.googlesource.com/c/go/+/428267 Auto-Submit: Ian Lance Taylor <[email protected]> TryBot-Result: Gopher Robot <[email protected]> Run-TryBot: Ian Lance Taylor <[email protected]> Run-TryBot: xie cui <[email protected]> Reviewed-by: Ian Lance Taylor <[email protected]> Reviewed-by: Damien Neil <[email protected]>
1 parent 1dee637 commit 68980ee

10 files changed

+35
-36
lines changed

src/net/http/cookie_test.go

+3-4
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
package http
66

77
import (
8-
"bytes"
98
"encoding/json"
109
"fmt"
1110
"log"
@@ -151,7 +150,7 @@ var writeSetCookiesTests = []struct {
151150

152151
func TestWriteSetCookies(t *testing.T) {
153152
defer log.SetOutput(os.Stderr)
154-
var logbuf bytes.Buffer
153+
var logbuf strings.Builder
155154
log.SetOutput(&logbuf)
156155

157156
for i, tt := range writeSetCookiesTests {
@@ -482,7 +481,7 @@ func TestSetCookieDoubleQuotes(t *testing.T) {
482481

483482
func TestCookieSanitizeValue(t *testing.T) {
484483
defer log.SetOutput(os.Stderr)
485-
var logbuf bytes.Buffer
484+
var logbuf strings.Builder
486485
log.SetOutput(&logbuf)
487486

488487
tests := []struct {
@@ -514,7 +513,7 @@ func TestCookieSanitizeValue(t *testing.T) {
514513

515514
func TestCookieSanitizePath(t *testing.T) {
516515
defer log.SetOutput(os.Stderr)
517-
var logbuf bytes.Buffer
516+
var logbuf strings.Builder
518517
log.SetOutput(&logbuf)
519518

520519
tests := []struct {

src/net/http/fs_test.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -1273,7 +1273,7 @@ func TestLinuxSendfile(t *testing.T) {
12731273
}
12741274
defer os.Remove(filepath)
12751275

1276-
var buf bytes.Buffer
1276+
var buf strings.Builder
12771277
child := exec.Command("strace", "-f", "-q", os.Args[0], "-test.run=TestLinuxSendfileChild")
12781278
child.ExtraFiles = append(child.ExtraFiles, lnf)
12791279
child.Env = append([]string{"GO_WANT_HELPER_PROCESS=1"}, os.Environ()...)

src/net/http/header_test.go

+2-1
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import (
99
"internal/race"
1010
"reflect"
1111
"runtime"
12+
"strings"
1213
"testing"
1314
"time"
1415
)
@@ -105,7 +106,7 @@ var headerWriteTests = []struct {
105106
}
106107

107108
func TestHeaderWrite(t *testing.T) {
108-
var buf bytes.Buffer
109+
var buf strings.Builder
109110
for i, test := range headerWriteTests {
110111
test.h.WriteSubset(&buf, test.exclude)
111112
if buf.String() != test.expected {

src/net/http/readrequest_test.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -416,7 +416,7 @@ func TestReadRequest(t *testing.T) {
416416
req.Body = nil
417417
testName := fmt.Sprintf("Test %d (%q)", i, tt.Raw)
418418
diff(t, testName, req, tt.Req)
419-
var bout bytes.Buffer
419+
var bout strings.Builder
420420
if rbody != nil {
421421
_, err := io.Copy(&bout, rbody)
422422
if err != nil {

src/net/http/request_test.go

+5-5
Original file line numberDiff line numberDiff line change
@@ -815,15 +815,15 @@ func TestStarRequest(t *testing.T) {
815815
clientReq := *req
816816
clientReq.Body = nil
817817

818-
var out bytes.Buffer
818+
var out strings.Builder
819819
if err := clientReq.Write(&out); err != nil {
820820
t.Fatal(err)
821821
}
822822

823823
if strings.Contains(out.String(), "chunked") {
824824
t.Error("wrote chunked request; want no body")
825825
}
826-
back, err := ReadRequest(bufio.NewReader(bytes.NewReader(out.Bytes())))
826+
back, err := ReadRequest(bufio.NewReader(strings.NewReader(out.String())))
827827
if err != nil {
828828
t.Fatal(err)
829829
}
@@ -835,7 +835,7 @@ func TestStarRequest(t *testing.T) {
835835
t.Errorf("Original request doesn't match Request read back.")
836836
t.Logf("Original: %#v", req)
837837
t.Logf("Original.URL: %#v", req.URL)
838-
t.Logf("Wrote: %s", out.Bytes())
838+
t.Logf("Wrote: %s", out.String())
839839
t.Logf("Read back (doesn't match Original): %#v", back)
840840
}
841841
}
@@ -983,7 +983,7 @@ func TestMaxBytesReaderDifferentLimits(t *testing.T) {
983983
wantErr: false,
984984
},
985985
10: { /* Issue 54408 */
986-
limit: int64(1<<63-1),
986+
limit: int64(1<<63 - 1),
987987
lenP: len(testStr),
988988
wantN: len(testStr),
989989
wantErr: false,
@@ -1172,7 +1172,7 @@ func testMultipartFile(t *testing.T, req *Request, key, expectFilename, expectCo
11721172
if fh.Filename != expectFilename {
11731173
t.Errorf("filename = %q, want %q", fh.Filename, expectFilename)
11741174
}
1175-
var b bytes.Buffer
1175+
var b strings.Builder
11761176
_, err = io.Copy(&b, f)
11771177
if err != nil {
11781178
t.Fatal("copying contents:", err)

src/net/http/requestwrite_test.go

+3-3
Original file line numberDiff line numberDiff line change
@@ -629,7 +629,7 @@ func TestRequestWrite(t *testing.T) {
629629
tt.Req.Header = make(Header)
630630
}
631631

632-
var braw bytes.Buffer
632+
var braw strings.Builder
633633
err := tt.Req.Write(&braw)
634634
if g, e := fmt.Sprintf("%v", err), fmt.Sprintf("%v", tt.WantError); g != e {
635635
t.Errorf("writing #%d, err = %q, want %q", i, g, e)
@@ -649,7 +649,7 @@ func TestRequestWrite(t *testing.T) {
649649

650650
if tt.WantProxy != "" {
651651
setBody()
652-
var praw bytes.Buffer
652+
var praw strings.Builder
653653
err = tt.Req.WriteProxy(&praw)
654654
if err != nil {
655655
t.Errorf("WriteProxy #%d: %s", i, err)
@@ -815,7 +815,7 @@ func TestRequestWriteClosesBody(t *testing.T) {
815815
if err != nil {
816816
t.Fatal(err)
817817
}
818-
buf := new(bytes.Buffer)
818+
buf := new(strings.Builder)
819819
if err := req.Write(buf); err != nil {
820820
t.Error(err)
821821
}

src/net/http/response_test.go

+4-4
Original file line numberDiff line numberDiff line change
@@ -596,7 +596,7 @@ func TestReadResponse(t *testing.T) {
596596
rbody := resp.Body
597597
resp.Body = nil
598598
diff(t, fmt.Sprintf("#%d Response", i), resp, &tt.Resp)
599-
var bout bytes.Buffer
599+
var bout strings.Builder
600600
if rbody != nil {
601601
_, err = io.Copy(&bout, rbody)
602602
if err != nil {
@@ -809,7 +809,7 @@ func TestResponseStatusStutter(t *testing.T) {
809809
ProtoMajor: 1,
810810
ProtoMinor: 3,
811811
}
812-
var buf bytes.Buffer
812+
var buf strings.Builder
813813
r.Write(&buf)
814814
if strings.Contains(buf.String(), "123 123") {
815815
t.Errorf("stutter in status: %s", buf.String())
@@ -829,7 +829,7 @@ func TestResponseContentLengthShortBody(t *testing.T) {
829829
if res.ContentLength != 123 {
830830
t.Fatalf("Content-Length = %d; want 123", res.ContentLength)
831831
}
832-
var buf bytes.Buffer
832+
var buf strings.Builder
833833
n, err := io.Copy(&buf, res.Body)
834834
if n != int64(len(shortBody)) {
835835
t.Errorf("Copied %d bytes; want %d, len(%q)", n, len(shortBody), shortBody)
@@ -989,7 +989,7 @@ func TestResponseWritesOnlySingleConnectionClose(t *testing.T) {
989989
t.Fatalf("ReadResponse failed %v", err)
990990
}
991991

992-
var buf2 bytes.Buffer
992+
var buf2 strings.Builder
993993
if err = res.Write(&buf2); err != nil {
994994
t.Fatalf("Write failed %v", err)
995995
}

src/net/http/responsewrite_test.go

+1-2
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
package http
66

77
import (
8-
"bytes"
98
"io"
109
"strings"
1110
"testing"
@@ -276,7 +275,7 @@ func TestResponseWrite(t *testing.T) {
276275

277276
for i := range respWriteTests {
278277
tt := &respWriteTests[i]
279-
var braw bytes.Buffer
278+
var braw strings.Builder
280279
err := tt.Resp.Write(&braw)
281280
if err != nil {
282281
t.Errorf("error writing #%d: %s", i, err)

src/net/http/serve_test.go

+6-6
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,7 @@ func newHandlerTest(h Handler) handlerTest {
148148

149149
func (ht *handlerTest) rawResponse(req string) string {
150150
reqb := reqBytes(req)
151-
var output bytes.Buffer
151+
var output strings.Builder
152152
conn := &rwTestConn{
153153
Reader: bytes.NewReader(reqb),
154154
Writer: &output,
@@ -3742,7 +3742,7 @@ func TestAcceptMaxFds(t *testing.T) {
37423742

37433743
func TestWriteAfterHijack(t *testing.T) {
37443744
req := reqBytes("GET / HTTP/1.1\nHost: golang.org")
3745-
var buf bytes.Buffer
3745+
var buf strings.Builder
37463746
wrotec := make(chan bool, 1)
37473747
conn := &rwTestConn{
37483748
Reader: bytes.NewReader(req),
@@ -4544,7 +4544,7 @@ func TestNoContentLengthIfTransferEncoding(t *testing.T) {
45444544
t.Fatal(err)
45454545
}
45464546
bs := bufio.NewScanner(c)
4547-
var got bytes.Buffer
4547+
var got strings.Builder
45484548
for bs.Scan() {
45494549
if strings.TrimSpace(bs.Text()) == "" {
45504550
break
@@ -4633,7 +4633,7 @@ GET /should-be-ignored HTTP/1.1
46334633
Host: foo
46344634
46354635
`)
4636-
var buf bytes.Buffer
4636+
var buf strings.Builder
46374637
conn := &rwTestConn{
46384638
Reader: bytes.NewReader(req),
46394639
Writer: &buf,
@@ -6511,7 +6511,7 @@ func TestTimeoutHandlerSuperfluousLogs(t *testing.T) {
65116511
exitHandler <- true
65126512
}
65136513

6514-
logBuf := new(bytes.Buffer)
6514+
logBuf := new(strings.Builder)
65156515
srvLog := log.New(logBuf, "", 0)
65166516
// When expecting to timeout, we'll keep the duration short.
65176517
dur := 20 * time.Millisecond
@@ -6721,7 +6721,7 @@ func testQuerySemicolon(t *testing.T, query string, wantX string, allowSemicolon
67216721
}
67226722

67236723
ts := httptest.NewUnstartedServer(h)
6724-
logBuf := &bytes.Buffer{}
6724+
logBuf := &strings.Builder{}
67256725
ts.Config.ErrorLog = log.New(logBuf, "", 0)
67266726
ts.Start()
67276727
defer ts.Close()

src/net/http/transport_test.go

+9-9
Original file line numberDiff line numberDiff line change
@@ -2444,7 +2444,7 @@ func TestTransportCancelRequestInDial(t *testing.T) {
24442444
if testing.Short() {
24452445
t.Skip("skipping test in -short mode")
24462446
}
2447-
var logbuf bytes.Buffer
2447+
var logbuf strings.Builder
24482448
eventLog := log.New(&logbuf, "", 0)
24492449

24502450
unblockDial := make(chan bool)
@@ -2931,7 +2931,7 @@ func TestTransportIgnore1xxResponses(t *testing.T) {
29312931
defer cst.close()
29322932
cst.tr.DisableKeepAlives = true // prevent log spam; our test server is hanging up anyway
29332933

2934-
var got bytes.Buffer
2934+
var got strings.Builder
29352935

29362936
req, _ := NewRequest("GET", cst.ts.URL, nil)
29372937
req = req.WithContext(httptrace.WithClientTrace(context.Background(), &httptrace.ClientTrace{
@@ -2949,7 +2949,7 @@ func TestTransportIgnore1xxResponses(t *testing.T) {
29492949
res.Write(&got)
29502950
want := "1xx: code=123, header=map[Foo:[bar]]\nHTTP/1.1 200 OK\r\nContent-Length: 5\r\nBar: baz\r\n\r\nHello"
29512951
if got.String() != want {
2952-
t.Errorf(" got: %q\nwant: %q\n", got.Bytes(), want)
2952+
t.Errorf(" got: %q\nwant: %q\n", got.String(), want)
29532953
}
29542954
}
29552955

@@ -3015,7 +3015,7 @@ type proxyFromEnvTest struct {
30153015
}
30163016

30173017
func (t proxyFromEnvTest) String() string {
3018-
var buf bytes.Buffer
3018+
var buf strings.Builder
30193019
space := func() {
30203020
if buf.Len() > 0 {
30213021
buf.WriteByte(' ')
@@ -3537,7 +3537,7 @@ func TestRetryRequestsOnError(t *testing.T) {
35373537

35383538
var (
35393539
mu sync.Mutex
3540-
logbuf bytes.Buffer
3540+
logbuf strings.Builder
35413541
)
35423542
logf := func(format string, args ...any) {
35433543
mu.Lock()
@@ -4515,7 +4515,7 @@ func testTransportEventTrace(t *testing.T, h2 bool, noHooks bool) {
45154515
cst.tr.ExpectContinueTimeout = 1 * time.Second
45164516

45174517
var mu sync.Mutex // guards buf
4518-
var buf bytes.Buffer
4518+
var buf strings.Builder
45194519
logf := func(format string, args ...any) {
45204520
mu.Lock()
45214521
defer mu.Unlock()
@@ -4674,7 +4674,7 @@ func testTransportEventTrace(t *testing.T, h2 bool, noHooks bool) {
46744674

46754675
func TestTransportEventTraceTLSVerify(t *testing.T) {
46764676
var mu sync.Mutex
4677-
var buf bytes.Buffer
4677+
var buf strings.Builder
46784678
logf := func(format string, args ...any) {
46794679
mu.Lock()
46804680
defer mu.Unlock()
@@ -4760,7 +4760,7 @@ func TestTransportEventTraceRealDNS(t *testing.T) {
47604760
c := &Client{Transport: tr}
47614761

47624762
var mu sync.Mutex // guards buf
4763-
var buf bytes.Buffer
4763+
var buf strings.Builder
47644764
logf := func(format string, args ...any) {
47654765
mu.Lock()
47664766
defer mu.Unlock()
@@ -5978,7 +5978,7 @@ func TestTransportIgnores408(t *testing.T) {
59785978
// Not parallel. Relies on mutating the log package's global Output.
59795979
defer log.SetOutput(log.Writer())
59805980

5981-
var logout bytes.Buffer
5981+
var logout strings.Builder
59825982
log.SetOutput(&logout)
59835983

59845984
defer afterTest(t)

0 commit comments

Comments
 (0)