Skip to content

Commit b2d4185

Browse files
authored
Replace bytes.Buffer with strings.Builder where appropriate (#3347)
To build strings more efficiently, use strings.Builder instead.
1 parent 8cd11c8 commit b2d4185

File tree

4 files changed

+20
-21
lines changed

4 files changed

+20
-21
lines changed

debug_test.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,14 @@
55
package gin
66

77
import (
8-
"bytes"
98
"errors"
109
"fmt"
1110
"html/template"
1211
"io"
1312
"log"
1413
"os"
1514
"runtime"
15+
"strings"
1616
"sync"
1717
"testing"
1818

@@ -138,7 +138,7 @@ func captureOutput(t *testing.T, f func()) string {
138138
wg := new(sync.WaitGroup)
139139
wg.Add(1)
140140
go func() {
141-
var buf bytes.Buffer
141+
var buf strings.Builder
142142
wg.Done()
143143
_, err := io.Copy(&buf, reader)
144144
assert.NoError(t, err)

githubapi_test.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,12 @@
55
package gin
66

77
import (
8-
"bytes"
98
"fmt"
109
"math/rand"
1110
"net/http"
1211
"net/http/httptest"
1312
"os"
13+
"strings"
1414
"testing"
1515

1616
"github.com/stretchr/testify/assert"
@@ -401,7 +401,7 @@ func TestGithubAPI(t *testing.T) {
401401
}
402402

403403
func exampleFromPath(path string) (string, Params) {
404-
output := new(bytes.Buffer)
404+
output := new(strings.Builder)
405405
params := make(Params, 0, 6)
406406
start := -1
407407
for i, c := range path {

logger_test.go

+7-7
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@
55
package gin
66

77
import (
8-
"bytes"
98
"errors"
109
"fmt"
1110
"net/http"
11+
"strings"
1212
"testing"
1313
"time"
1414

@@ -20,7 +20,7 @@ func init() {
2020
}
2121

2222
func TestLogger(t *testing.T) {
23-
buffer := new(bytes.Buffer)
23+
buffer := new(strings.Builder)
2424
router := New()
2525
router.Use(LoggerWithWriter(buffer))
2626
router.GET("/example", func(c *Context) {})
@@ -84,7 +84,7 @@ func TestLogger(t *testing.T) {
8484
}
8585

8686
func TestLoggerWithConfig(t *testing.T) {
87-
buffer := new(bytes.Buffer)
87+
buffer := new(strings.Builder)
8888
router := New()
8989
router.Use(LoggerWithConfig(LoggerConfig{Output: buffer}))
9090
router.GET("/example", func(c *Context) {})
@@ -148,7 +148,7 @@ func TestLoggerWithConfig(t *testing.T) {
148148
}
149149

150150
func TestLoggerWithFormatter(t *testing.T) {
151-
buffer := new(bytes.Buffer)
151+
buffer := new(strings.Builder)
152152

153153
d := DefaultWriter
154154
DefaultWriter = buffer
@@ -182,7 +182,7 @@ func TestLoggerWithFormatter(t *testing.T) {
182182
func TestLoggerWithConfigFormatting(t *testing.T) {
183183
var gotParam LogFormatterParams
184184
var gotKeys map[string]any
185-
buffer := new(bytes.Buffer)
185+
buffer := new(strings.Builder)
186186

187187
router := New()
188188
router.engine.trustedCIDRs, _ = router.engine.prepareTrustedCIDRs()
@@ -382,7 +382,7 @@ func TestErrorLogger(t *testing.T) {
382382
}
383383

384384
func TestLoggerWithWriterSkippingPaths(t *testing.T) {
385-
buffer := new(bytes.Buffer)
385+
buffer := new(strings.Builder)
386386
router := New()
387387
router.Use(LoggerWithWriter(buffer, "/skipped"))
388388
router.GET("/logged", func(c *Context) {})
@@ -397,7 +397,7 @@ func TestLoggerWithWriterSkippingPaths(t *testing.T) {
397397
}
398398

399399
func TestLoggerWithConfigSkippingPaths(t *testing.T) {
400-
buffer := new(bytes.Buffer)
400+
buffer := new(strings.Builder)
401401
router := New()
402402
router.Use(LoggerWithConfig(LoggerConfig{
403403
Output: buffer,

recovery_test.go

+9-10
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
package gin
66

77
import (
8-
"bytes"
98
"fmt"
109
"net"
1110
"net/http"
@@ -18,7 +17,7 @@ import (
1817
)
1918

2019
func TestPanicClean(t *testing.T) {
21-
buffer := new(bytes.Buffer)
20+
buffer := new(strings.Builder)
2221
router := New()
2322
password := "my-super-secret-password"
2423
router.Use(RecoveryWithWriter(buffer))
@@ -50,7 +49,7 @@ func TestPanicClean(t *testing.T) {
5049

5150
// TestPanicInHandler assert that panic has been recovered.
5251
func TestPanicInHandler(t *testing.T) {
53-
buffer := new(bytes.Buffer)
52+
buffer := new(strings.Builder)
5453
router := New()
5554
router.Use(RecoveryWithWriter(buffer))
5655
router.GET("/recovery", func(_ *Context) {
@@ -122,7 +121,7 @@ func TestPanicWithBrokenPipe(t *testing.T) {
122121

123122
for errno, expectMsg := range expectMsgs {
124123
t.Run(expectMsg, func(t *testing.T) {
125-
var buf bytes.Buffer
124+
var buf strings.Builder
126125

127126
router := New()
128127
router.Use(RecoveryWithWriter(&buf))
@@ -145,8 +144,8 @@ func TestPanicWithBrokenPipe(t *testing.T) {
145144
}
146145

147146
func TestCustomRecoveryWithWriter(t *testing.T) {
148-
errBuffer := new(bytes.Buffer)
149-
buffer := new(bytes.Buffer)
147+
errBuffer := new(strings.Builder)
148+
buffer := new(strings.Builder)
150149
router := New()
151150
handleRecovery := func(c *Context, err any) {
152151
errBuffer.WriteString(err.(string))
@@ -179,8 +178,8 @@ func TestCustomRecoveryWithWriter(t *testing.T) {
179178
}
180179

181180
func TestCustomRecovery(t *testing.T) {
182-
errBuffer := new(bytes.Buffer)
183-
buffer := new(bytes.Buffer)
181+
errBuffer := new(strings.Builder)
182+
buffer := new(strings.Builder)
184183
router := New()
185184
DefaultErrorWriter = buffer
186185
handleRecovery := func(c *Context, err any) {
@@ -214,8 +213,8 @@ func TestCustomRecovery(t *testing.T) {
214213
}
215214

216215
func TestRecoveryWithWriterWithCustomRecovery(t *testing.T) {
217-
errBuffer := new(bytes.Buffer)
218-
buffer := new(bytes.Buffer)
216+
errBuffer := new(strings.Builder)
217+
buffer := new(strings.Builder)
219218
router := New()
220219
DefaultErrorWriter = buffer
221220
handleRecovery := func(c *Context, err any) {

0 commit comments

Comments
 (0)