mirror of
https://github.com/labstack/echo.git
synced 2026-06-20 01:18:42 +02:00
+2
-2
@@ -158,6 +158,6 @@ type (
|
||||
)
|
||||
|
||||
// ServeHTTP serves HTTP request.
|
||||
func (h HandlerFunc) ServeHTTP(req Request, res Response) {
|
||||
h(req, res)
|
||||
func (h HandlerFunc) ServeHTTP(rq Request, rs Response) {
|
||||
h(rq, rs)
|
||||
}
|
||||
|
||||
@@ -78,7 +78,7 @@ func NewFromConfig(c engine.Config) (s *Server) {
|
||||
},
|
||||
},
|
||||
},
|
||||
handler: engine.HandlerFunc(func(req engine.Request, res engine.Response) {
|
||||
handler: engine.HandlerFunc(func(rq engine.Request, rs engine.Response) {
|
||||
s.logger.Error("handler not set, use `SetHandler()` to set it.")
|
||||
}),
|
||||
logger: log.New("echo"),
|
||||
@@ -124,25 +124,25 @@ func (s *Server) startCustomListener() error {
|
||||
|
||||
func (s *Server) ServeHTTP(c *fasthttp.RequestCtx) {
|
||||
// Request
|
||||
req := s.pool.request.Get().(*Request)
|
||||
rq := s.pool.request.Get().(*Request)
|
||||
reqHdr := s.pool.requestHeader.Get().(*RequestHeader)
|
||||
reqURL := s.pool.url.Get().(*URL)
|
||||
reqHdr.reset(&c.Request.Header)
|
||||
reqURL.reset(c.URI())
|
||||
req.reset(c, reqHdr, reqURL)
|
||||
rq.reset(c, reqHdr, reqURL)
|
||||
|
||||
// Response
|
||||
res := s.pool.response.Get().(*Response)
|
||||
rs := s.pool.response.Get().(*Response)
|
||||
resHdr := s.pool.responseHeader.Get().(*ResponseHeader)
|
||||
resHdr.reset(&c.Response.Header)
|
||||
res.reset(c, resHdr)
|
||||
rs.reset(c, resHdr)
|
||||
|
||||
s.handler.ServeHTTP(req, res)
|
||||
s.handler.ServeHTTP(rq, rs)
|
||||
|
||||
s.pool.request.Put(req)
|
||||
s.pool.request.Put(rq)
|
||||
s.pool.requestHeader.Put(reqHdr)
|
||||
s.pool.url.Put(reqURL)
|
||||
s.pool.response.Put(res)
|
||||
s.pool.response.Put(rs)
|
||||
s.pool.responseHeader.Put(resHdr)
|
||||
}
|
||||
|
||||
|
||||
@@ -104,8 +104,8 @@ func (r *Request) MultipartForm() (*multipart.Form, error) {
|
||||
return r.Request.MultipartForm, err
|
||||
}
|
||||
|
||||
func (r *Request) reset(req *http.Request, h engine.Header, u engine.URL) {
|
||||
r.Request = req
|
||||
func (r *Request) reset(rq *http.Request, h engine.Header, u engine.URL) {
|
||||
r.Request = rq
|
||||
r.header = h
|
||||
r.url = u
|
||||
}
|
||||
|
||||
+14
-14
@@ -70,7 +70,7 @@ func NewFromConfig(c engine.Config) (s *Server) {
|
||||
},
|
||||
},
|
||||
},
|
||||
handler: engine.HandlerFunc(func(req engine.Request, res engine.Response) {
|
||||
handler: engine.HandlerFunc(func(rq engine.Request, rs engine.Response) {
|
||||
s.logger.Error("handler not set, use `SetHandler()` to set it.")
|
||||
}),
|
||||
logger: log.New("echo"),
|
||||
@@ -113,25 +113,25 @@ func (s *Server) startCustomListener() error {
|
||||
// ServeHTTP implements `http.Handler` interface.
|
||||
func (s *Server) ServeHTTP(w http.ResponseWriter, r *http.Request) {
|
||||
// Request
|
||||
req := s.pool.request.Get().(*Request)
|
||||
rq := s.pool.request.Get().(*Request)
|
||||
reqHdr := s.pool.header.Get().(*Header)
|
||||
reqURL := s.pool.url.Get().(*URL)
|
||||
reqHdr.reset(r.Header)
|
||||
reqURL.reset(r.URL)
|
||||
req.reset(r, reqHdr, reqURL)
|
||||
rq.reset(r, reqHdr, reqURL)
|
||||
|
||||
// Response
|
||||
res := s.pool.response.Get().(*Response)
|
||||
rs := s.pool.response.Get().(*Response)
|
||||
resHdr := s.pool.header.Get().(*Header)
|
||||
resHdr.reset(w.Header())
|
||||
res.reset(w, resHdr)
|
||||
rs.reset(w, resHdr)
|
||||
|
||||
s.handler.ServeHTTP(req, res)
|
||||
s.handler.ServeHTTP(rq, rs)
|
||||
|
||||
s.pool.request.Put(req)
|
||||
s.pool.request.Put(rq)
|
||||
s.pool.header.Put(reqHdr)
|
||||
s.pool.url.Put(reqURL)
|
||||
s.pool.response.Put(res)
|
||||
s.pool.response.Put(rs)
|
||||
s.pool.header.Put(resHdr)
|
||||
}
|
||||
|
||||
@@ -152,16 +152,16 @@ func WrapHandler(h http.Handler) echo.HandlerFunc {
|
||||
func WrapMiddleware(m func(http.Handler) http.Handler) echo.MiddlewareFunc {
|
||||
return func(next echo.Handler) echo.Handler {
|
||||
return echo.HandlerFunc(func(c echo.Context) (err error) {
|
||||
req := c.Request().(*Request)
|
||||
res := c.Response().(*Response)
|
||||
rq := c.Request().(*Request)
|
||||
rs := c.Response().(*Response)
|
||||
m(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
||||
res.ResponseWriter = &responseAdapter{
|
||||
ResponseWriter: res.ResponseWriter,
|
||||
rs.ResponseWriter = &responseAdapter{
|
||||
ResponseWriter: rs.ResponseWriter,
|
||||
writer: c.Response(),
|
||||
}
|
||||
req.Request = r
|
||||
rq.Request = r
|
||||
err = next.Handle(c)
|
||||
})).ServeHTTP(res.ResponseWriter, req.Request)
|
||||
})).ServeHTTP(rs.ResponseWriter, rq.Request)
|
||||
return
|
||||
})
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user