diff --git a/echo.go b/echo.go index bd781f74..b1909908 100644 --- a/echo.go +++ b/echo.go @@ -192,6 +192,7 @@ func (e *Echo) Index(file string) { func (e *Echo) ServeHTTP(rw http.ResponseWriter, r *http.Request) { h, c, echo := e.Router.Find(r.Method, r.URL.Path) + defer e.pool.Put(c) if echo != nil { e = echo } @@ -205,7 +206,6 @@ func (e *Echo) ServeHTTP(rw http.ResponseWriter, r *http.Request) { } // Handler h(c) - e.pool.Put(c) } // Run a server diff --git a/router.go b/router.go index fd35e2b2..fc8e3dc1 100644 --- a/router.go +++ b/router.go @@ -226,11 +226,11 @@ func (ps Params) Get(n string) (v string) { func (r *router) ServeHTTP(rw http.ResponseWriter, req *http.Request) { h, c, _ := r.Find(req.Method, req.URL.Path) + defer r.echo.pool.Put(c) c.Response.ResponseWriter = rw if h != nil { h(c) } else { r.echo.notFoundHandler(c) } - r.echo.pool.Put(c) }