summaryrefslogtreecommitdiff
path: root/pkg/server/cmds.go
diff options
context:
space:
mode:
authorMikhail Osipov <mike.osipov@gmail.com>2020-02-17 11:56:43 +0300
committerMikhail Osipov <mike.osipov@gmail.com>2020-02-19 23:51:31 +0300
commitbd5339bff8bf5f5e877e94dfef265a22570a69c7 (patch)
tree5902df7a9f21c00d9c414f6b0c2b79aadfd84752 /pkg/server/cmds.go
parentdf935315c7201b7d42eb361b3ac3d36fe83e53e6 (diff)
first working version
Diffstat (limited to 'pkg/server/cmds.go')
-rw-r--r--pkg/server/cmds.go12
1 files changed, 8 insertions, 4 deletions
diff --git a/pkg/server/cmds.go b/pkg/server/cmds.go
index e383dac..6eabbde 100644
--- a/pkg/server/cmds.go
+++ b/pkg/server/cmds.go
@@ -26,10 +26,15 @@ func newNode() *node {
return &node{m: map[string]*node{}}
}
-func newCmd(f func (r *request), path ...string) {
+func newCmd(f func (r *request), where string) {
+ path := strings.Split(where, " ")
node := cmds
for _, name := range path {
+ if name == "" {
+ panic("invalid command path")
+ }
+
v := node.m[name]
if v == nil {
v = newNode()
@@ -40,12 +45,11 @@ func newCmd(f func (r *request), path ...string) {
}
if node.c != nil {
- s := strings.Join(path, " ")
- log.Panicf("handler already registered at '%s'", s)
+ log.Panicf("handler already registered at '%s'", where)
}
node.c = &cmd{
- name: strings.Join(path, " "),
+ name: where,
f: f,
}
}