@@ -15,14 +15,16 @@ type (
1515 middleware []MiddlewareFunc
1616 maxParam byte
1717 notFoundHandler HandlerFunc
18- renderFunc RenderFunc
18+ renderer Renderer
1919 pool sync.Pool
2020 }
2121 Middleware interface {}
2222 MiddlewareFunc func (HandlerFunc ) HandlerFunc
2323 Handler interface {}
2424 HandlerFunc func (* Context )
25- RenderFunc func (io.Writer , string , interface {}) error
25+ Renderer interface {
26+ Render (io.Writer , string , interface {}) error
27+ }
2628)
2729
2830const (
@@ -72,9 +74,6 @@ func New() (e *Echo) {
7274 notFoundHandler : func (c * Context ) {
7375 http .Error (c .Response , http .StatusText (http .StatusNotFound ), http .StatusNotFound )
7476 },
75- renderFunc : func (w io.Writer , name string , data interface {}) (err error ) {
76- return
77- },
7877 }
7978 e .Router = NewRouter (e )
8079 e .pool .New = func () interface {} {
@@ -115,9 +114,9 @@ func (e *Echo) NotFoundHandler(h Handler) {
115114 e .notFoundHandler = wrapH (h )
116115}
117116
118- // RenderFunc sets a custom RenderFunc .
119- func (e * Echo ) RenderFunc (r RenderFunc ) {
120- e .renderFunc = r
117+ // Renderer sets an HTML Renderer .
118+ func (e * Echo ) Renderer (r Renderer ) {
119+ e .renderer = r
121120}
122121
123122// Use adds handler to the middleware chain.
@@ -197,7 +196,8 @@ func (e *Echo) Index(file string) {
197196}
198197
199198func (e * Echo ) ServeHTTP (w http.ResponseWriter , r * http.Request ) {
200- h , c , echo := e .Router .Find (r .Method , r .URL .Path )
199+ c := e .pool .Get ().(* Context )
200+ h , echo := e .Router .Find (r .Method , r .URL .Path , c .params )
201201 if echo != nil {
202202 e = echo
203203 }
0 commit comments