summaryrefslogtreecommitdiffstats
path: root/vendor/github.com/labstack/echo/v4/group.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/labstack/echo/v4/group.go')
-rw-r--r--vendor/github.com/labstack/echo/v4/group.go10
1 files changed, 6 insertions, 4 deletions
diff --git a/vendor/github.com/labstack/echo/v4/group.go b/vendor/github.com/labstack/echo/v4/group.go
index 28ce0dd9..749a5caa 100644
--- a/vendor/github.com/labstack/echo/v4/group.go
+++ b/vendor/github.com/labstack/echo/v4/group.go
@@ -23,10 +23,12 @@ func (g *Group) Use(middleware ...MiddlewareFunc) {
if len(g.middleware) == 0 {
return
}
- // Allow all requests to reach the group as they might get dropped if router
- // doesn't find a match, making none of the group middleware process.
- g.Any("", NotFoundHandler)
- g.Any("/*", NotFoundHandler)
+ // group level middlewares are different from Echo `Pre` and `Use` middlewares (those are global). Group level middlewares
+ // are only executed if they are added to the Router with route.
+ // So we register catch all route (404 is a safe way to emulate route match) for this group and now during routing the
+ // Router would find route to match our request path and therefore guarantee the middleware(s) will get executed.
+ g.RouteNotFound("", NotFoundHandler)
+ g.RouteNotFound("/*", NotFoundHandler)
}
// CONNECT implements `Echo#CONNECT()` for sub-routes within the Group.