From 1c4c61c90272fe251245da5f30b6134ba5a410f1 Mon Sep 17 00:00:00 2001 From: Mikhail Osipov Date: Tue, 19 May 2020 01:47:49 +0300 Subject: add redirect listen option --- pkg/server/server.go | 27 ++++++++++++++++----------- 1 file changed, 16 insertions(+), 11 deletions(-) (limited to 'pkg/server/server.go') diff --git a/pkg/server/server.go b/pkg/server/server.go index e794b56..43a0309 100644 --- a/pkg/server/server.go +++ b/pkg/server/server.go @@ -288,26 +288,31 @@ func (c *client) decode(b []byte) ([]string, error) { } func (r *request) eval(args []string) []string { - for n, s := range args { - if strings.HasPrefix(s, "^") { - args[n] = s[1:] + var out []string + + for _, s := range args { + var t string + + if strings.HasPrefix(s, ":") { + t = s[1:] } else { - args[n] = r.c.s.env.Eval(s) + t = r.c.s.env.Eval(s) } + + out = append(out, t) } - return args + return out } func (r *request) parse(args []string) { - c, args := getCmd(r.eval(args)) - if c == nil { + if c, args := getCmd(r.eval(args)); c == nil { r.Fatal("command not found") + } else { + r.args = args + r.argc = len(args) + r.cmd = c } - - r.args = args - r.argc = len(args) - r.cmd = c } func (r *request) run(args []string) { -- cgit v1.2.3-70-g09d2