Support json.RawMessage in configuration env overrides (#23610)

* support json.RawMessage in env overrides
This commit is contained in:
Doug Lauder
2023-06-07 17:21:58 -04:00
committed by GitHub
parent 803d0c6e60
commit ac3c0da8ff
6 changed files with 53 additions and 48 deletions

View File

@@ -72,7 +72,11 @@ func applyEnvKey(key, value string, rValueSubject reflect.Value) {
if err == nil {
rFieldValue.Set(reflect.ValueOf(intVal))
}
case reflect.SliceOf(reflect.TypeOf("")).Kind():
case reflect.Slice:
if rFieldValue.Type() == reflect.TypeOf(json.RawMessage{}) {
rFieldValue.Set(reflect.ValueOf([]byte(value)))
break
}
rFieldValue.Set(reflect.ValueOf(strings.Split(value, " ")))
case reflect.Map:
target := reflect.New(rFieldValue.Type()).Interface()