summaryrefslogtreecommitdiffstats
path: root/common/maps/params.go
diff options
context:
space:
mode:
authorBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2021-06-22 09:53:37 +0200
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2021-06-22 21:38:28 +0200
commit4a9d408fe0bbf4c563546e35d2be7ade4e920c4c (patch)
tree942f920d5b829ab04b2e5786a712a713beb84f53 /common/maps/params.go
parent93120598880ae7c598f186f5259fc4d5a286632f (diff)
config: Fix merge of config with map[string]string values.
Fixes #8679
Diffstat (limited to 'common/maps/params.go')
-rw-r--r--common/maps/params.go12
1 files changed, 10 insertions, 2 deletions
diff --git a/common/maps/params.go b/common/maps/params.go
index 7e94d593b..e5a1bd07d 100644
--- a/common/maps/params.go
+++ b/common/maps/params.go
@@ -226,7 +226,7 @@ func toMergeStrategy(v interface{}) ParamsMergeStrategy {
// PrepareParams
// * makes all the keys in the given map lower cased and will do so
// * This will modify the map given.
-// * Any nested map[interface{}]interface{} will be converted to Params.
+// * Any nested map[interface{}]interface{}, map[string]interface{},map[string]string will be converted to Params.
// * Any _merge value will be converted to proper type and value.
func PrepareParams(m Params) {
for k, v := range m {
@@ -236,7 +236,7 @@ func PrepareParams(m Params) {
v = toMergeStrategy(v)
retyped = true
} else {
- switch v.(type) {
+ switch vv := v.(type) {
case map[interface{}]interface{}:
var p Params = cast.ToStringMap(v)
v = p
@@ -247,6 +247,14 @@ func PrepareParams(m Params) {
v = p
PrepareParams(p)
retyped = true
+ case map[string]string:
+ p := make(Params)
+ for k, v := range vv {
+ p[k] = v
+ }
+ v = p
+ PrepareParams(p)
+ retyped = true
}
}