package http
import (
- "bytes"
"encoding/json"
"fmt"
"log"
func TestWriteSetCookies(t *testing.T) {
defer log.SetOutput(os.Stderr)
- var logbuf bytes.Buffer
+ var logbuf strings.Builder
log.SetOutput(&logbuf)
for i, tt := range writeSetCookiesTests {
func TestCookieSanitizeValue(t *testing.T) {
defer log.SetOutput(os.Stderr)
- var logbuf bytes.Buffer
+ var logbuf strings.Builder
log.SetOutput(&logbuf)
tests := []struct {
func TestCookieSanitizePath(t *testing.T) {
defer log.SetOutput(os.Stderr)
- var logbuf bytes.Buffer
+ var logbuf strings.Builder
log.SetOutput(&logbuf)
tests := []struct {
}
defer os.Remove(filepath)
- var buf bytes.Buffer
+ var buf strings.Builder
child := exec.Command("strace", "-f", "-q", os.Args[0], "-test.run=TestLinuxSendfileChild")
child.ExtraFiles = append(child.ExtraFiles, lnf)
child.Env = append([]string{"GO_WANT_HELPER_PROCESS=1"}, os.Environ()...)
"internal/race"
"reflect"
"runtime"
+ "strings"
"testing"
"time"
)
}
func TestHeaderWrite(t *testing.T) {
- var buf bytes.Buffer
+ var buf strings.Builder
for i, test := range headerWriteTests {
test.h.WriteSubset(&buf, test.exclude)
if buf.String() != test.expected {
req.Body = nil
testName := fmt.Sprintf("Test %d (%q)", i, tt.Raw)
diff(t, testName, req, tt.Req)
- var bout bytes.Buffer
+ var bout strings.Builder
if rbody != nil {
_, err := io.Copy(&bout, rbody)
if err != nil {
clientReq := *req
clientReq.Body = nil
- var out bytes.Buffer
+ var out strings.Builder
if err := clientReq.Write(&out); err != nil {
t.Fatal(err)
}
if strings.Contains(out.String(), "chunked") {
t.Error("wrote chunked request; want no body")
}
- back, err := ReadRequest(bufio.NewReader(bytes.NewReader(out.Bytes())))
+ back, err := ReadRequest(bufio.NewReader(strings.NewReader(out.String())))
if err != nil {
t.Fatal(err)
}
t.Errorf("Original request doesn't match Request read back.")
t.Logf("Original: %#v", req)
t.Logf("Original.URL: %#v", req.URL)
- t.Logf("Wrote: %s", out.Bytes())
+ t.Logf("Wrote: %s", out.String())
t.Logf("Read back (doesn't match Original): %#v", back)
}
}
wantErr: false,
},
10: { /* Issue 54408 */
- limit: int64(1<<63-1),
+ limit: int64(1<<63 - 1),
lenP: len(testStr),
wantN: len(testStr),
wantErr: false,
if fh.Filename != expectFilename {
t.Errorf("filename = %q, want %q", fh.Filename, expectFilename)
}
- var b bytes.Buffer
+ var b strings.Builder
_, err = io.Copy(&b, f)
if err != nil {
t.Fatal("copying contents:", err)
tt.Req.Header = make(Header)
}
- var braw bytes.Buffer
+ var braw strings.Builder
err := tt.Req.Write(&braw)
if g, e := fmt.Sprintf("%v", err), fmt.Sprintf("%v", tt.WantError); g != e {
t.Errorf("writing #%d, err = %q, want %q", i, g, e)
if tt.WantProxy != "" {
setBody()
- var praw bytes.Buffer
+ var praw strings.Builder
err = tt.Req.WriteProxy(&praw)
if err != nil {
t.Errorf("WriteProxy #%d: %s", i, err)
if err != nil {
t.Fatal(err)
}
- buf := new(bytes.Buffer)
+ buf := new(strings.Builder)
if err := req.Write(buf); err != nil {
t.Error(err)
}
rbody := resp.Body
resp.Body = nil
diff(t, fmt.Sprintf("#%d Response", i), resp, &tt.Resp)
- var bout bytes.Buffer
+ var bout strings.Builder
if rbody != nil {
_, err = io.Copy(&bout, rbody)
if err != nil {
ProtoMajor: 1,
ProtoMinor: 3,
}
- var buf bytes.Buffer
+ var buf strings.Builder
r.Write(&buf)
if strings.Contains(buf.String(), "123 123") {
t.Errorf("stutter in status: %s", buf.String())
if res.ContentLength != 123 {
t.Fatalf("Content-Length = %d; want 123", res.ContentLength)
}
- var buf bytes.Buffer
+ var buf strings.Builder
n, err := io.Copy(&buf, res.Body)
if n != int64(len(shortBody)) {
t.Errorf("Copied %d bytes; want %d, len(%q)", n, len(shortBody), shortBody)
t.Fatalf("ReadResponse failed %v", err)
}
- var buf2 bytes.Buffer
+ var buf2 strings.Builder
if err = res.Write(&buf2); err != nil {
t.Fatalf("Write failed %v", err)
}
package http
import (
- "bytes"
"io"
"strings"
"testing"
for i := range respWriteTests {
tt := &respWriteTests[i]
- var braw bytes.Buffer
+ var braw strings.Builder
err := tt.Resp.Write(&braw)
if err != nil {
t.Errorf("error writing #%d: %s", i, err)
func (ht *handlerTest) rawResponse(req string) string {
reqb := reqBytes(req)
- var output bytes.Buffer
+ var output strings.Builder
conn := &rwTestConn{
Reader: bytes.NewReader(reqb),
Writer: &output,
func TestWriteAfterHijack(t *testing.T) {
req := reqBytes("GET / HTTP/1.1\nHost: golang.org")
- var buf bytes.Buffer
+ var buf strings.Builder
wrotec := make(chan bool, 1)
conn := &rwTestConn{
Reader: bytes.NewReader(req),
t.Fatal(err)
}
bs := bufio.NewScanner(c)
- var got bytes.Buffer
+ var got strings.Builder
for bs.Scan() {
if strings.TrimSpace(bs.Text()) == "" {
break
Host: foo
`)
- var buf bytes.Buffer
+ var buf strings.Builder
conn := &rwTestConn{
Reader: bytes.NewReader(req),
Writer: &buf,
exitHandler <- true
}
- logBuf := new(bytes.Buffer)
+ logBuf := new(strings.Builder)
srvLog := log.New(logBuf, "", 0)
// When expecting to timeout, we'll keep the duration short.
dur := 20 * time.Millisecond
}
ts := httptest.NewUnstartedServer(h)
- logBuf := &bytes.Buffer{}
+ logBuf := &strings.Builder{}
ts.Config.ErrorLog = log.New(logBuf, "", 0)
ts.Start()
defer ts.Close()
if testing.Short() {
t.Skip("skipping test in -short mode")
}
- var logbuf bytes.Buffer
+ var logbuf strings.Builder
eventLog := log.New(&logbuf, "", 0)
unblockDial := make(chan bool)
defer cst.close()
cst.tr.DisableKeepAlives = true // prevent log spam; our test server is hanging up anyway
- var got bytes.Buffer
+ var got strings.Builder
req, _ := NewRequest("GET", cst.ts.URL, nil)
req = req.WithContext(httptrace.WithClientTrace(context.Background(), &httptrace.ClientTrace{
res.Write(&got)
want := "1xx: code=123, header=map[Foo:[bar]]\nHTTP/1.1 200 OK\r\nContent-Length: 5\r\nBar: baz\r\n\r\nHello"
if got.String() != want {
- t.Errorf(" got: %q\nwant: %q\n", got.Bytes(), want)
+ t.Errorf(" got: %q\nwant: %q\n", got.String(), want)
}
}
}
func (t proxyFromEnvTest) String() string {
- var buf bytes.Buffer
+ var buf strings.Builder
space := func() {
if buf.Len() > 0 {
buf.WriteByte(' ')
var (
mu sync.Mutex
- logbuf bytes.Buffer
+ logbuf strings.Builder
)
logf := func(format string, args ...any) {
mu.Lock()
cst.tr.ExpectContinueTimeout = 1 * time.Second
var mu sync.Mutex // guards buf
- var buf bytes.Buffer
+ var buf strings.Builder
logf := func(format string, args ...any) {
mu.Lock()
defer mu.Unlock()
func TestTransportEventTraceTLSVerify(t *testing.T) {
var mu sync.Mutex
- var buf bytes.Buffer
+ var buf strings.Builder
logf := func(format string, args ...any) {
mu.Lock()
defer mu.Unlock()
c := &Client{Transport: tr}
var mu sync.Mutex // guards buf
- var buf bytes.Buffer
+ var buf strings.Builder
logf := func(format string, args ...any) {
mu.Lock()
defer mu.Unlock()
// Not parallel. Relies on mutating the log package's global Output.
defer log.SetOutput(log.Writer())
- var logout bytes.Buffer
+ var logout strings.Builder
log.SetOutput(&logout)
defer afterTest(t)