mirror of
https://github.com/labstack/echo.git
synced 2025-11-06 08:59:21 +02:00
@@ -3,10 +3,8 @@ package fasthttp
|
||||
import (
|
||||
"net/http"
|
||||
|
||||
"github.com/labstack/gommon/log"
|
||||
)
|
||||
import (
|
||||
"github.com/labstack/echo/engine"
|
||||
"github.com/labstack/echo/logger"
|
||||
"github.com/valyala/fasthttp"
|
||||
)
|
||||
|
||||
@@ -15,14 +13,16 @@ type (
|
||||
*http.Server
|
||||
config *engine.Config
|
||||
handler engine.HandlerFunc
|
||||
logger logger.Logger
|
||||
}
|
||||
)
|
||||
|
||||
func NewServer(config *engine.Config, handler engine.HandlerFunc) *Server {
|
||||
func NewServer(c *engine.Config, h engine.HandlerFunc, l logger.Logger) *Server {
|
||||
return &Server{
|
||||
Server: new(http.Server),
|
||||
config: config,
|
||||
handler: handler,
|
||||
config: c,
|
||||
handler: h,
|
||||
logger: l,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -39,5 +39,5 @@ func (s *Server) Start() {
|
||||
}
|
||||
s.handler(req, res)
|
||||
})
|
||||
log.Fatal(s.ListenAndServe())
|
||||
s.logger.Fatal(s.ListenAndServe())
|
||||
}
|
||||
|
||||
@@ -5,6 +5,7 @@ import (
|
||||
"net/http"
|
||||
|
||||
"github.com/labstack/echo/engine"
|
||||
"github.com/labstack/echo/logger"
|
||||
)
|
||||
|
||||
type (
|
||||
@@ -15,14 +16,16 @@ type (
|
||||
size int64
|
||||
committed bool
|
||||
writer io.Writer
|
||||
logger logger.Logger
|
||||
}
|
||||
)
|
||||
|
||||
func NewResponse(w http.ResponseWriter) *Response {
|
||||
func NewResponse(w http.ResponseWriter, l logger.Logger) *Response {
|
||||
return &Response{
|
||||
response: w,
|
||||
header: &Header{w.Header()},
|
||||
writer: w,
|
||||
logger: l,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -32,7 +35,7 @@ func (r *Response) Header() engine.Header {
|
||||
|
||||
func (r *Response) WriteHeader(code int) {
|
||||
if r.committed {
|
||||
// r.echo.Logger().Warn("response already committed")
|
||||
r.logger.Warn("response already committed")
|
||||
return
|
||||
}
|
||||
r.status = code
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
package standard
|
||||
|
||||
import (
|
||||
"log"
|
||||
"net/http"
|
||||
"sync"
|
||||
|
||||
"github.com/labstack/echo/engine"
|
||||
"github.com/labstack/echo/logger"
|
||||
)
|
||||
|
||||
type (
|
||||
@@ -14,6 +14,7 @@ type (
|
||||
config *engine.Config
|
||||
handler engine.HandlerFunc
|
||||
pool *Pool
|
||||
logger logger.Logger
|
||||
}
|
||||
|
||||
Pool struct {
|
||||
@@ -24,11 +25,11 @@ type (
|
||||
}
|
||||
)
|
||||
|
||||
func NewServer(config *engine.Config, handler engine.HandlerFunc) *Server {
|
||||
func NewServer(c *engine.Config, h engine.HandlerFunc, l logger.Logger) *Server {
|
||||
return &Server{
|
||||
Server: new(http.Server),
|
||||
config: config,
|
||||
handler: handler,
|
||||
config: c,
|
||||
handler: h,
|
||||
pool: &Pool{
|
||||
request: sync.Pool{
|
||||
New: func() interface{} {
|
||||
@@ -37,7 +38,7 @@ func NewServer(config *engine.Config, handler engine.HandlerFunc) *Server {
|
||||
},
|
||||
response: sync.Pool{
|
||||
New: func() interface{} {
|
||||
return &Response{}
|
||||
return &Response{logger: l}
|
||||
},
|
||||
},
|
||||
header: sync.Pool{
|
||||
@@ -51,6 +52,7 @@ func NewServer(config *engine.Config, handler engine.HandlerFunc) *Server {
|
||||
},
|
||||
},
|
||||
},
|
||||
logger: l,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -78,5 +80,5 @@ func (s *Server) Start() {
|
||||
s.pool.response.Put(res)
|
||||
s.pool.header.Put(resHdr)
|
||||
})
|
||||
log.Fatal(s.ListenAndServe())
|
||||
s.logger.Fatal(s.ListenAndServe())
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user