Skip to content

Commit 40aa363

Browse files
committed
update
1 parent a57c585 commit 40aa363

File tree

4 files changed

+28
-9
lines changed

4 files changed

+28
-9
lines changed

engine/errors.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,6 @@ package engine
33
import "errors"
44

55
var (
6-
ErrUnsupported = errors.New(`Unsupported`)
6+
ErrUnsupported = errors.New(`Unsupported`)
7+
ErrAlreadyCommitted = errors.New(`response already committed`)
78
)

engine/fasthttp/response.go

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ package fasthttp
55

66
import (
77
"bufio"
8-
"errors"
8+
"fmt"
99
"io"
1010
"net"
1111
"net/http"
@@ -19,8 +19,6 @@ import (
1919
"github.com/webx-top/echo/logger"
2020
)
2121

22-
var ErrAlreadyCommitted = errors.New(`response already committed`)
23-
2422
type Response struct {
2523
request *Request
2624
header engine.Header
@@ -52,9 +50,19 @@ func (r *Response) Header() engine.Header {
5250
return r.header
5351
}
5452

53+
func (r *Response) requestURI() string {
54+
if len(r.request.context.RequestURI()) > 0 {
55+
return r.request.URI()
56+
}
57+
if r.request.context.URI() != nil {
58+
return engine.Bytes2str(r.request.context.URI().Path())
59+
}
60+
return `-`
61+
}
62+
5563
func (r *Response) WriteHeader(code int) {
5664
if r.committed {
57-
r.logger.Warn(ErrAlreadyCommitted.Error())
65+
r.logger.Warnf(`%v [%v]`, engine.ErrAlreadyCommitted, r.requestURI())
5866
return
5967
}
6068
r.status = code
@@ -264,7 +272,7 @@ func (w *netHTTPResponseWriter) WriteHeader(statusCode int) {
264272

265273
func (w *netHTTPResponseWriter) Write(b []byte) (int, error) {
266274
if w.response.committed {
267-
return 0, ErrAlreadyCommitted
275+
return 0, fmt.Errorf(`%w [%v]`, engine.ErrAlreadyCommitted, w.response.requestURI())
268276
}
269277
return w.response.Write(b)
270278
}

engine/mock/response.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ func (r *Response) Header() engine.Header {
3636

3737
func (r *Response) WriteHeader(code int) {
3838
if r.Committed() {
39-
r.logger.Warn("response already committed")
39+
r.logger.Warn(engine.ErrAlreadyCommitted.Error())
4040
return
4141
}
4242

@@ -49,7 +49,7 @@ func (r *Response) WriteHeader(code int) {
4949

5050
func (r *Response) writeHeaderNoLock(code int) {
5151
if r.committed {
52-
r.logger.Warn("response already committed")
52+
r.logger.Warn(engine.ErrAlreadyCommitted.Error())
5353
return
5454
}
5555

engine/standard/response.go

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,9 +40,19 @@ func (r *Response) Header() engine.Header {
4040
return r.header
4141
}
4242

43+
func (r *Response) requestURI() string {
44+
if len(r.request.RequestURI) > 0 {
45+
return r.request.RequestURI
46+
}
47+
if r.request.URL != nil {
48+
return r.request.URL.Path
49+
}
50+
return `-`
51+
}
52+
4353
func (r *Response) WriteHeader(code int) {
4454
if r.committed {
45-
r.logger.Warn("response already committed")
55+
r.logger.Warnf("%v [%s]", engine.ErrAlreadyCommitted, r.requestURI())
4656
return
4757
}
4858
r.status = code

0 commit comments

Comments
 (0)