Skip to content

Commit 86e1caa

Browse files
bug fix: ConnResponseWriter writes headers immediately
1 parent 7e93712 commit 86e1caa

File tree

1 file changed

+10
-6
lines changed

1 file changed

+10
-6
lines changed

connresponsewriter.go

+10-6
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ func (c *ConnResponseWriter) Header() http.Header {
3232
func (c *ConnResponseWriter) Write(body []byte) (int, error) {
3333
c.mu.Lock()
3434
defer c.mu.Unlock()
35-
c.WriteHeader(http.StatusOK)
35+
c.writeHeader(http.StatusOK)
3636
if c.err != nil {
3737
return 0, c.err
3838
}
@@ -47,6 +47,15 @@ func (c *ConnResponseWriter) Write(body []byte) (int, error) {
4747
func (c *ConnResponseWriter) WriteHeader(statusCode int) {
4848
c.mu.Lock()
4949
defer c.mu.Unlock()
50+
c.writeHeader(statusCode)
51+
}
52+
53+
// Close closes network connection.
54+
func (c *ConnResponseWriter) Close() error {
55+
return c.Conn.Close()
56+
}
57+
58+
func (c *ConnResponseWriter) writeHeader(statusCode int) {
5059
if c.err != nil {
5160
return
5261
}
@@ -71,8 +80,3 @@ func (c *ConnResponseWriter) WriteHeader(statusCode int) {
7180
}
7281
c.headersSent = true
7382
}
74-
75-
// Close closes network connection.
76-
func (c *ConnResponseWriter) Close() error {
77-
return c.Conn.Close()
78-
}

0 commit comments

Comments
 (0)