File tree Expand file tree Collapse file tree 1 file changed +10
-9
lines changed Expand file tree Collapse file tree 1 file changed +10
-9
lines changed Original file line number Diff line number Diff line change @@ -575,21 +575,15 @@ func (e *Echo) ServeHTTP(w http.ResponseWriter, r *http.Request) {
575
575
if e .premiddleware == nil {
576
576
e .router .Find (r .Method , getPath (r ), c )
577
577
h = c .Handler ()
578
- for i := len (e .middleware ) - 1 ; i >= 0 ; i -- {
579
- h = e.middleware [i ](h )
580
- }
578
+ h = applyMiddleware (h , e .middleware ... )
581
579
} else {
582
580
h = func (c Context ) error {
583
581
e .router .Find (r .Method , getPath (r ), c )
584
582
h := c .Handler ()
585
- for i := len (e .middleware ) - 1 ; i >= 0 ; i -- {
586
- h = e.middleware [i ](h )
587
- }
583
+ h = applyMiddleware (h , e .middleware ... )
588
584
return h (c )
589
585
}
590
- for i := len (e .premiddleware ) - 1 ; i >= 0 ; i -- {
591
- h = e.premiddleware [i ](h )
592
- }
586
+ h = applyMiddleware (h , e .premiddleware ... )
593
587
}
594
588
595
589
// Execute chain
@@ -804,3 +798,10 @@ func newListener(address string) (*tcpKeepAliveListener, error) {
804
798
}
805
799
return & tcpKeepAliveListener {l .(* net.TCPListener )}, nil
806
800
}
801
+
802
+ func applyMiddleware (h HandlerFunc , middleware ... MiddlewareFunc ) HandlerFunc {
803
+ for i := len (middleware ) - 1 ; i >= 0 ; i -- {
804
+ h = middleware [i ](h )
805
+ }
806
+ return h
807
+ }
You can’t perform that action at this time.
0 commit comments