Skip to content

Commit

Permalink
Fix comment issue
Browse files Browse the repository at this point in the history
  • Loading branch information
luanxuechao committed May 27, 2024
1 parent 11dd493 commit 48f5540
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 3 deletions.
22 changes: 19 additions & 3 deletions cmd/relayproxy/config/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,8 @@ func New(flagSet *pflag.FlagSet, log *zap.Logger, version string) (*Config, erro
// Map environment variables
_ = k.Load(env.ProviderWithValue("", ".", func(s string, v string) (string, interface{}) {
if strings.HasPrefix(s, "RETRIEVERS") || strings.HasPrefix(s, "NOTIFIERS") {
_ = loadArrayEnv(s, v, configMap)
err := loadArrayEnv(s, v, configMap)
log.Error("config: error loading array env", zap.String("key", s), zap.String("value", v), zap.Error(err))
return s, v
}
return strings.ReplaceAll(strings.ToLower(s), "_", "."), v
Expand Down Expand Up @@ -340,7 +341,14 @@ func loadArrayEnv(s string, v string, configMap map[string]interface{}) error {
if err != nil {
return err
}
configItem := configArray[index].(map[string]interface{})
var configItem map[string]interface{}
outRange := index > len(configArray)-1
if outRange {
configItem = make(map[string]interface{})
} else {
configItem = configArray[index].(map[string]interface{})
}

keys := paths[2:]
currentMap := configItem
for i, key := range keys {
Expand All @@ -364,7 +372,15 @@ func loadArrayEnv(s string, v string, configMap map[string]interface{}) error {
}
lastKey := keys[len(keys)-1]
currentMap[lastKey] = v
configArray[index] = configItem
if outRange {
blank := index - len(configArray) + 1
for i := 0; i < blank; i++ {
configArray = append(configArray, make(map[string]interface{}))
}
configArray[index] = configItem
} else {
configArray[index] = configItem
}
_ = k.Set(prefixKey, configArray)
}
return nil
Expand Down
9 changes: 9 additions & 0 deletions cmd/relayproxy/config/config_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -731,6 +731,14 @@ func TestMergeConfig_FromOSEnv(t *testing.T) {
},
},
},
config.RetrieverConf{
HTTPHeaders: map[string][]string{

"authorization": []string{
"test1",
},
},
},
},
Exporter: &config.ExporterConf{
Kind: "log",
Expand All @@ -756,6 +764,7 @@ func TestMergeConfig_FromOSEnv(t *testing.T) {
os.Setenv("RETRIEVERS_0_HEADERS_AUTHORIZATION", "test")
os.Setenv("RETRIEVERS_X_HEADERS_AUTHORIZATION", "test")
os.Setenv("RETRIEVERS_1_HEADERS_AUTHORIZATION", "test1")
os.Setenv("RETRIEVERS_2_HEADERS_AUTHORIZATION", "test1")
t.Run(tt.name, func(t *testing.T) {
_ = os.Remove("./goff-proxy.yaml")
if !tt.disableDefaultFileCreation {
Expand Down

0 comments on commit 48f5540

Please sign in to comment.