Skip to content

Commit 7f2e1ac

Browse files
committed
update: set default status_code=200
1 parent bfda6a9 commit 7f2e1ac

File tree

2 files changed

+9
-3
lines changed

2 files changed

+9
-3
lines changed

response_writer.go

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ type ResponseWriter struct {
2222

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

2828
// WriteHeader 设置 HTTP 响应状态码
@@ -60,19 +60,25 @@ func (w *ResponseWriter) Read(b []byte) (int, error) {
6060
// Flush 实现 http.Flusher 接口
6161
// 将缓冲的数据立即发送到客户端
6262
func (w *ResponseWriter) Flush() {
63+
w.mu.Lock()
64+
defer w.mu.Unlock()
6365
w.wroteHeader = true
6466
w.ResponseWriter.(http.Flusher).Flush()
6567
}
6668

6769
// Push 实现 http.Pusher 接口
6870
// 支持 HTTP/2 服务器推送功能
6971
func (w *ResponseWriter) Push(target string, opts *http.PushOptions) error {
72+
w.mu.Lock()
73+
defer w.mu.Unlock()
7074
return w.ResponseWriter.(http.Pusher).Push(target, opts)
7175
}
7276

7377
// Hijack 实现 http.Hijacker 接口
7478
// 允许接管 HTTP 连接
7579
func (w *ResponseWriter) Hijack() (net.Conn, *bufio.ReadWriter, error) {
80+
w.mu.Lock()
81+
defer w.mu.Unlock()
7682
hj := w.ResponseWriter.(http.Hijacker)
7783
return hj.Hijack()
7884
}

socket_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -112,8 +112,8 @@ func TestSocket_ContextCancel(t *testing.T) {
112112
defer listener.Close()
113113
// 在后台接受连接
114114
go func() {
115-
conn, err := listener.Accept()
116-
if err != nil {
115+
conn, err2 := listener.Accept()
116+
if err2 != nil {
117117
return
118118
}
119119
defer conn.Close()

0 commit comments

Comments
 (0)