From 8d59e7afd1947c48ac4c1320a1eec652f270b0a6 Mon Sep 17 00:00:00 2001 From: Silviu Capota-Mera Date: Sat, 7 Oct 2017 13:16:36 -0400 Subject: [PATCH] for the root path, all methods must be covered use continue instead of return --- app.go | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/app.go b/app.go index b966fde4..7bbc65a6 100644 --- a/app.go +++ b/app.go @@ -226,7 +226,7 @@ func UnregisterFixedRoute(fixedRoute string, method string) *App { } if BeeApp.Handlers.routers[m].prefix == strings.Trim(fixedRoute, "/ ") { findAndRemoveSingleTree(BeeApp.Handlers.routers[m]) - return BeeApp + continue } findAndRemoveTree(subPaths, BeeApp.Handlers.routers[m], m) } @@ -273,16 +273,16 @@ func findAndRemoveTree(paths []string, entryPointTree *Tree, method string) { } func findAndRemoveSingleTree(entryPointTree *Tree) { - - if len(entryPointTree.fixrouters) > 0 { - // Remove the *Tree from the fixrouters slice - entryPointTree.fixrouters[0] = nil - entryPointTree.fixrouters = entryPointTree.fixrouters[1:] + if entryPointTree == nil { + return } - - if len(entryPointTree.leaves) > 0 { - entryPointTree.leaves[0] = nil - entryPointTree.leaves = entryPointTree.leaves[1:] + if len(entryPointTree.fixrouters) > 0 { + // If the route had children subtrees, remove just the functional leaf, + // to allow children to function as before + if len(entryPointTree.leaves) > 0 { + entryPointTree.leaves[0] = nil + entryPointTree.leaves = entryPointTree.leaves[1:] + } } }