Skip to content

Commit 16b5982

Browse files
committed
update: HTTPClient
1 parent b9686a6 commit 16b5982

File tree

4 files changed

+14
-14
lines changed

4 files changed

+14
-14
lines changed

response_writer.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ type ResponseWriter struct {
2121
}
2222

2323
// newResponseWriter 创建一个新的 ResponseWriter
24-
func newResponseWriter(w http.ResponseWriter) *ResponseWriter {
24+
func NewResponseWriter(w http.ResponseWriter) *ResponseWriter {
2525
return &ResponseWriter{ResponseWriter: w, StatusCode: 200, Content: &bytes.Buffer{}}
2626
}
2727

response_writer_test.go

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ func (m *mockResponseWriter) WriteHeader(code int) { m.statuscode = code }
3838
// TestResponseWriterBasic tests basic functionality of ResponseWriter
3939
func TestResponseWriterBasic(t *testing.T) {
4040
mock := newMockResponseWriter()
41-
w := newResponseWriter(mock)
41+
w := NewResponseWriter(mock)
4242

4343
// Test WriteHeader
4444
w.WriteHeader(http.StatusCreated)
@@ -69,7 +69,7 @@ func TestResponseWriterBasic(t *testing.T) {
6969
// TestResponseWriterIntegration tests the ResponseWriter in a real HTTP server context
7070
func TestResponseWriterIntegration(t *testing.T) {
7171
handler := http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
72-
rw := newResponseWriter(w)
72+
rw := NewResponseWriter(w)
7373
rw.WriteHeader(http.StatusAccepted)
7474
rw.Write([]byte("hello world"))
7575
})
@@ -100,7 +100,7 @@ func TestResponseWriterIntegration(t *testing.T) {
100100
// TestResponseWriterConcurrency tests concurrent writes to ResponseWriter
101101
func TestResponseWriterConcurrency(t *testing.T) {
102102
mock := newMockResponseWriter()
103-
w := newResponseWriter(mock)
103+
w := NewResponseWriter(mock)
104104

105105
var wg sync.WaitGroup
106106
workers := 10
@@ -131,7 +131,7 @@ func TestResponseWriterConcurrency(t *testing.T) {
131131
// TestResponseWriterHijack tests the hijack functionality
132132
func TestResponseWriterHijack(t *testing.T) {
133133
server := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
134-
hijackable := newResponseWriter(w)
134+
hijackable := NewResponseWriter(w)
135135
conn, bufrw, err := hijackable.Hijack()
136136
if err != nil {
137137
t.Errorf("Hijack failed: %v", err)
@@ -164,7 +164,7 @@ func TestResponseWriterHijack(t *testing.T) {
164164
// BenchmarkResponseWriterWrite benchmarks the Write method
165165
func BenchmarkResponseWriterWrite(b *testing.B) {
166166
mock := newMockResponseWriter()
167-
w := newResponseWriter(mock)
167+
w := NewResponseWriter(mock)
168168
content := []byte("benchmark content")
169169

170170
b.ResetTimer()
@@ -176,7 +176,7 @@ func BenchmarkResponseWriterWrite(b *testing.B) {
176176
// BenchmarkResponseWriterConcurrentWrite benchmarks concurrent writes
177177
func BenchmarkResponseWriterConcurrentWrite(b *testing.B) {
178178
mock := newMockResponseWriter()
179-
w := newResponseWriter(mock)
179+
w := NewResponseWriter(mock)
180180
content := []byte("concurrent benchmark content")
181181

182182
b.ResetTimer()
@@ -190,7 +190,7 @@ func BenchmarkResponseWriterConcurrentWrite(b *testing.B) {
190190
// TestResponseWriterFlush tests the flush functionality
191191
func TestResponseWriterFlush(t *testing.T) {
192192
server := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
193-
flusher := newResponseWriter(w)
193+
flusher := NewResponseWriter(w)
194194
flusher.Write([]byte("chunk1"))
195195
flusher.Flush()
196196
time.Sleep(10 * time.Millisecond)
@@ -220,7 +220,7 @@ func TestResponseWriterFlush(t *testing.T) {
220220
// TestResponseWriterRead 测试 Read 方法
221221
func TestResponseWriterRead(t *testing.T) {
222222
mock := newMockResponseWriter()
223-
w := newResponseWriter(mock)
223+
w := NewResponseWriter(mock)
224224

225225
// 写入测试数据
226226
testData := []byte("test data for reading")
@@ -253,7 +253,7 @@ func TestResponseWriterRead(t *testing.T) {
253253
func TestResponseWriterPush(t *testing.T) {
254254
// 创建支持 HTTP/2 的测试服务器
255255
handler := http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
256-
rw := newResponseWriter(w)
256+
rw := NewResponseWriter(w)
257257
err := rw.Push("/style.css", &http.PushOptions{
258258
Method: "GET",
259259
Header: http.Header{
@@ -296,7 +296,7 @@ func TestResponseWriterWriteError(t *testing.T) {
296296
writeError: fmt.Errorf("write error"),
297297
}
298298

299-
w := newResponseWriter(errMock)
299+
w := NewResponseWriter(errMock)
300300

301301
// 测试写入错误
302302
n, err := w.Write([]byte("test"))

session.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,8 @@ func New(opts ...Option) *Session {
2727
}
2828

2929
// HTTPClient returns the http.Client that is configured to be used for HTTP requests.
30-
func (s *Session) HTTPClient() *http.Client {
31-
return s.client
30+
func (s *Session) HTTPClient(opts ...Option) *http.Client {
31+
return &http.Client{Timeout: s.client.Timeout, Transport: s.RoundTripper(opts...)}
3232
}
3333

3434
// Transport returns *http.Transport.

use.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ func printHandler(f func(ctx context.Context, stat *Stat)) func(handler http.Han
114114
return func(next http.Handler) http.Handler {
115115
return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
116116
start := time.Now()
117-
ww := newResponseWriter(w)
117+
ww := NewResponseWriter(w)
118118
buf, body, _ := CopyBody(r.Body)
119119
r.Body = body
120120
next.ServeHTTP(ww, r)

0 commit comments

Comments
 (0)