mirror of
https://github.com/labstack/echo.git
synced 2025-05-13 22:06:36 +02:00
Merge branch 'master' of https://github.com/labstack/echo
This commit is contained in:
commit
aa483fd34f
9
echo.go
9
echo.go
@ -70,6 +70,7 @@ type (
|
|||||||
Validator Validator
|
Validator Validator
|
||||||
Renderer Renderer
|
Renderer Renderer
|
||||||
AutoTLSManager autocert.Manager
|
AutoTLSManager autocert.Manager
|
||||||
|
Mutex sync.RWMutex
|
||||||
Logger Logger
|
Logger Logger
|
||||||
stdLogger *slog.Logger
|
stdLogger *slog.Logger
|
||||||
colorer *color.Color
|
colorer *color.Color
|
||||||
@ -497,7 +498,13 @@ func (e *Echo) ReleaseContext(c Context) {
|
|||||||
|
|
||||||
// ServeHTTP implements `http.Handler` interface, which serves HTTP requests.
|
// ServeHTTP implements `http.Handler` interface, which serves HTTP requests.
|
||||||
func (e *Echo) ServeHTTP(w http.ResponseWriter, r *http.Request) {
|
func (e *Echo) ServeHTTP(w http.ResponseWriter, r *http.Request) {
|
||||||
|
// Acquire lock
|
||||||
|
e.Mutex.RLock()
|
||||||
|
defer e.Mutex.RUnlock()
|
||||||
|
|
||||||
|
// Acquire context
|
||||||
c := e.pool.Get().(*context)
|
c := e.pool.Get().(*context)
|
||||||
|
defer e.pool.Put(c)
|
||||||
c.Reset(r, w)
|
c.Reset(r, w)
|
||||||
|
|
||||||
// Middleware
|
// Middleware
|
||||||
@ -521,8 +528,6 @@ func (e *Echo) ServeHTTP(w http.ResponseWriter, r *http.Request) {
|
|||||||
if err := h(c); err != nil {
|
if err := h(c); err != nil {
|
||||||
e.HTTPErrorHandler(err, c)
|
e.HTTPErrorHandler(err, c)
|
||||||
}
|
}
|
||||||
|
|
||||||
e.pool.Put(c)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Start starts an HTTP server.
|
// Start starts an HTTP server.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user