diff options
author | Wim <wim@42.be> | 2019-06-16 23:33:25 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-06-16 23:33:25 +0200 |
commit | cb712ff37d3c20a21695e00c52fff213a6fd40b4 (patch) | |
tree | 0ba0ee4f55bf6ace2656562465cc82d807e741b9 /vendor/github.com/labstack/echo/v4/group.go | |
parent | f4ae61044888f591830e6c1be9a2bdb14f88943e (diff) | |
download | matterbridge-msglm-cb712ff37d3c20a21695e00c52fff213a6fd40b4.tar.gz matterbridge-msglm-cb712ff37d3c20a21695e00c52fff213a6fd40b4.tar.bz2 matterbridge-msglm-cb712ff37d3c20a21695e00c52fff213a6fd40b4.zip |
Update vendor (#852)
Diffstat (limited to 'vendor/github.com/labstack/echo/v4/group.go')
-rw-r--r-- | vendor/github.com/labstack/echo/v4/group.go | 25 |
1 files changed, 14 insertions, 11 deletions
diff --git a/vendor/github.com/labstack/echo/v4/group.go b/vendor/github.com/labstack/echo/v4/group.go index 3e3732b6..5d958253 100644 --- a/vendor/github.com/labstack/echo/v4/group.go +++ b/vendor/github.com/labstack/echo/v4/group.go @@ -2,7 +2,6 @@ package echo import ( "net/http" - "path" ) type ( @@ -10,6 +9,8 @@ type ( // routes that share a common middleware or functionality that should be separate // from the parent echo instance while still inheriting from it. Group struct { + common + host string prefix string middleware []MiddlewareFunc echo *Echo @@ -19,13 +20,13 @@ type ( // Use implements `Echo#Use()` for sub-routes within the Group. func (g *Group) Use(middleware ...MiddlewareFunc) { g.middleware = append(g.middleware, middleware...) + 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. - for _, p := range []string{"", "/*"} { - g.echo.Any(path.Clean(g.prefix+p), func(c Context) error { - return NotFoundHandler(c) - }, g.middleware...) - } + g.Any("", NotFoundHandler) + g.Any("/*", NotFoundHandler) } // CONNECT implements `Echo#CONNECT()` for sub-routes within the Group. @@ -92,21 +93,23 @@ func (g *Group) Match(methods []string, path string, handler HandlerFunc, middle } // Group creates a new sub-group with prefix and optional sub-group-level middleware. -func (g *Group) Group(prefix string, middleware ...MiddlewareFunc) *Group { +func (g *Group) Group(prefix string, middleware ...MiddlewareFunc) (sg *Group) { m := make([]MiddlewareFunc, 0, len(g.middleware)+len(middleware)) m = append(m, g.middleware...) m = append(m, middleware...) - return g.echo.Group(g.prefix+prefix, m...) + sg = g.echo.Group(g.prefix+prefix, m...) + sg.host = g.host + return } // Static implements `Echo#Static()` for sub-routes within the Group. func (g *Group) Static(prefix, root string) { - static(g, prefix, root) + g.static(prefix, root, g.GET) } // File implements `Echo#File()` for sub-routes within the Group. func (g *Group) File(path, file string) { - g.echo.File(g.prefix+path, file) + g.file(g.prefix+path, file, g.GET) } // Add implements `Echo#Add()` for sub-routes within the Group. @@ -117,5 +120,5 @@ func (g *Group) Add(method, path string, handler HandlerFunc, middleware ...Midd m := make([]MiddlewareFunc, 0, len(g.middleware)+len(middleware)) m = append(m, g.middleware...) m = append(m, middleware...) - return g.echo.Add(method, g.prefix+path, handler, m...) + return g.echo.add(g.host, method, g.prefix+path, handler, m...) } |