diff options
| author | Mikhail Osipov <mike.osipov@gmail.com> | 2020-05-19 01:47:49 +0300 |
|---|---|---|
| committer | Mikhail Osipov <mike.osipov@gmail.com> | 2020-05-23 01:14:11 +0300 |
| commit | 1c4c61c90272fe251245da5f30b6134ba5a410f1 (patch) | |
| tree | d2809dd944de691e66422aec1becb4acc17b9a19 /pkg/server/env | |
| parent | 2c5259a594f5d8ddf12691deb6a79a0b566f024e (diff) | |
add redirect listen option
Diffstat (limited to 'pkg/server/env')
| -rw-r--r-- | pkg/server/env/env.go | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/pkg/server/env/env.go b/pkg/server/env/env.go index 45650ab..8594e10 100644 --- a/pkg/server/env/env.go +++ b/pkg/server/env/env.go @@ -19,8 +19,8 @@ type Env struct { const namePattern = "[a-zA-Z][a-zA-Z0-9.]*" -var isNamePattern = regexp.MustCompile("^" + namePattern + "$").MatchString -var namePatternRe = regexp.MustCompile("@(" + namePattern + "|{" + namePattern + "})") +var isGoodName = regexp.MustCompile("^" + namePattern + "$").MatchString +var varRe = regexp.MustCompile("@(" + namePattern + "|{" + namePattern + "})") var errBadVariable = errors.New("bad variable name") var errEmptyVariable = errors.New("empty variable") @@ -67,8 +67,8 @@ func (e Env) Get(key string) string { return v } -func (e *env) Set(key string, value string) error { - if !isNamePattern(key) { +func (e Env) Set(key string, value string) error { + if !isGoodName(key) { return errBadVariable } @@ -139,11 +139,13 @@ func (e Env) Eval(s string) string { } for { - if t := namePatternRe.ReplaceAllStringFunc(s, repl); t == s { + t := varRe.ReplaceAllStringFunc(s, repl) + + if t == s { break - } else { - s = t } + + s = t } return s |
