summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEltrac <hi@guhub.cn>2025-12-03 14:39:33 +0800
committerEltrac <hi@guhub.cn>2025-12-03 14:39:33 +0800
commit8871615c98bce3c2c3aa871ce4e80126558cb91b (patch)
tree6b43f2412313bad00a9aea6a42631220684d69ae
parentf7643a06846043cf932cf3d2eb7f49be5322ca56 (diff)
feat: nested grouping
-rw-r--r--group.go11
1 files changed, 11 insertions, 0 deletions
diff --git a/group.go b/group.go
index 7cb56ad..06370eb 100644
--- a/group.go
+++ b/group.go
@@ -18,6 +18,17 @@ func (e *Engine) Group(prefix string, fn func(*Group)) {
fn(g)
}
+// Group.Group creates a nested Group
+// joining all prefixes of parent groups
+func(g *Group) Group(prefix string, fn func(*Group)) {
+ nested := &Group {
+ prefix: joinPath(g.prefix, prefix),
+ engine: g.engine,
+ }
+
+ fn(nested)
+}
+
/* Inherit Engine methods */
func (g *Group) GET(path string, handler Handler) {