diff --git a/internals/config/loader.go b/internals/config/loader.go index fee3b818..d5a408ab 100644 --- a/internals/config/loader.go +++ b/internals/config/loader.go @@ -109,7 +109,7 @@ func Normalize(config *configutils.Config, path string, structure any) { // Load temporary config back into paths config.Layer.Delete(path) - config.Load(tmpConf.Layer.All(), path) + config.Load(tmpConf.Layer.Get("").(map[string]any), path) } func InitReload() { diff --git a/internals/config/tokens.go b/internals/config/tokens.go index 69ec8518..ac6af7ee 100644 --- a/internals/config/tokens.go +++ b/internals/config/tokens.go @@ -27,19 +27,21 @@ func LoadTokens() { } func NormalizeTokens() { - configArray := []map[string]any{} + data := []map[string]any{} for _, config := range tokenConf.Layer.Slices("tokenconfigs") { tmpConf := configutils.New() - tmpConf.Load(config.All(), "") + tmpConf.Load(config.Get("").(map[string]any), "") Normalize(tmpConf, "overrides", &structure.SETTINGS{}) - configArray = append(configArray, tmpConf.Layer.All()) + data = append(data, tmpConf.Layer.Get("").(map[string]any)) } // Merge token configs together into new temporary config - tokenConf.Layer.Set("tokenconfigs", configArray) + tokenConf.Load(map[string]any{ + "tokenconfigs": data, + }, "") } func InitTokens() { diff --git a/utils/configutils/transform.go b/utils/configutils/transform.go index 7b812e08..699a2235 100644 --- a/utils/configutils/transform.go +++ b/utils/configutils/transform.go @@ -139,10 +139,14 @@ func applyTransform(key string, value any, transformTargets map[string]Transform childKey, childValue := applyTransform(fullKey, v, targets, funcs) - res[childKey] = childValue + keyParts := getKeyParts(childKey) + + res[keyParts[len(keyParts)-1]] = childValue } - return newKey, res + keyParts := getKeyParts(newKey) + + return keyParts[len(keyParts)-1], res case []any: res := []any{} @@ -166,7 +170,9 @@ func applyTransform(key string, value any, transformTargets map[string]Transform res = append(res, childValue) } - return newKey, res + keyParts := getKeyParts(newKey) + + return keyParts[len(keyParts)-1], res default: return applyTransformToAny(key, asserted, transformTargets, funcs) } diff --git a/utils/request/requestkeys/requestkeys.go b/utils/request/requestkeys/requestkeys.go index 39f88463..7bb7e81b 100644 --- a/utils/request/requestkeys/requestkeys.go +++ b/utils/request/requestkeys/requestkeys.go @@ -11,8 +11,8 @@ var BodyPrefix = "@" var HeaderPrefix = "#" func Parse(str string) Field { - prefix := str[1:] - key := str[:1] + prefix := str[:1] + key := str[1:] return Field{ Prefix: prefix,