mirror of https://github.com/caddyserver/caddy.git
map: Support numeric and bool types with Caddyfile
Based on caddyserver/website#221
This commit is contained in:
parent
4e9fbee1e2
commit
93c99f6734
|
@ -15,6 +15,7 @@
|
|||
package maphandler
|
||||
|
||||
import (
|
||||
"strconv"
|
||||
"strings"
|
||||
|
||||
"github.com/caddyserver/caddy/v2/caddyconfig/httpcaddyfile"
|
||||
|
@ -78,7 +79,7 @@ func parseCaddyfile(h httpcaddyfile.Helper) (caddyhttp.MiddlewareHandler, error)
|
|||
if out == "-" {
|
||||
outs = append(outs, nil)
|
||||
} else {
|
||||
outs = append(outs, out)
|
||||
outs = append(outs, specificType(out))
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -107,3 +108,16 @@ func parseCaddyfile(h httpcaddyfile.Helper) (caddyhttp.MiddlewareHandler, error)
|
|||
|
||||
return handler, nil
|
||||
}
|
||||
|
||||
func specificType(v string) interface{} {
|
||||
if num, err := strconv.Atoi(v); err == nil {
|
||||
return num
|
||||
}
|
||||
if num, err := strconv.ParseFloat(v, 64); err == nil {
|
||||
return num
|
||||
}
|
||||
if bool, err := strconv.ParseBool(v); err == nil {
|
||||
return bool
|
||||
}
|
||||
return v
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue