diff options
| author | Mikhail Osipov <mike.osipov@gmail.com> | 2020-02-17 11:56:43 +0300 |
|---|---|---|
| committer | Mikhail Osipov <mike.osipov@gmail.com> | 2020-02-19 23:51:31 +0300 |
| commit | bd5339bff8bf5f5e877e94dfef265a22570a69c7 (patch) | |
| tree | 5902df7a9f21c00d9c414f6b0c2b79aadfd84752 /pkg/server/cmds.go | |
| parent | df935315c7201b7d42eb361b3ac3d36fe83e53e6 (diff) | |
first working version
Diffstat (limited to 'pkg/server/cmds.go')
| -rw-r--r-- | pkg/server/cmds.go | 12 |
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, } } |
