Fix logger and audit http endpoint config lookup

master
Harshavardhana 5 years ago
parent 175b07d6e4
commit bd10640846
  1. 28
      cmd/logger/config.go
  2. 5
      pkg/env/env.go

@ -77,32 +77,32 @@ func NewConfig() Config {
// LookupConfig - lookup logger config, override with ENVs if set.
func LookupConfig(cfg Config) (Config, error) {
if cfg.HTTP == nil {
cfg.HTTP = make(map[string]HTTP)
}
if cfg.Audit == nil {
cfg.Audit = make(map[string]HTTP)
}
envs := env.List(EnvLoggerHTTPEndpoint)
for _, e := range envs {
target := strings.TrimPrefix(e, EnvLoggerHTTPEndpoint)
if target == "" {
for _, k := range envs {
target := strings.TrimPrefix(k, EnvLoggerHTTPEndpoint+defaultTarget)
if target == EnvLoggerHTTPEndpoint {
target = defaultTarget
}
_, ok := cfg.HTTP[target]
if ok {
cfg.HTTP[target] = HTTP{
Enabled: true,
Endpoint: env.Get(e, cfg.HTTP[target].Endpoint),
}
Endpoint: env.Get(k, cfg.HTTP[target].Endpoint),
}
}
aenvs := env.List(EnvAuditLoggerHTTPEndpoint)
for _, e := range aenvs {
target := strings.TrimPrefix(e, EnvAuditLoggerHTTPEndpoint)
if target == "" {
for _, k := range aenvs {
target := strings.TrimPrefix(k, EnvAuditLoggerHTTPEndpoint+defaultTarget)
if target == EnvAuditLoggerHTTPEndpoint {
target = defaultTarget
}
_, ok := cfg.Audit[target]
if ok {
cfg.Audit[target] = HTTP{
Enabled: true,
Endpoint: env.Get(e, cfg.Audit[target].Endpoint),
}
Endpoint: env.Get(k, cfg.Audit[target].Endpoint),
}
}

5
pkg/env/env.go vendored

@ -27,7 +27,10 @@ func Lookup(key string) (string, bool) { return os.LookupEnv(key) }
func List(prefix string) (envs []string) {
for _, env := range os.Environ() {
if strings.HasPrefix(env, prefix) {
envs = append(envs, env)
values := strings.SplitN(env, "=", 2)
if len(values) == 2 {
envs = append(envs, values[0])
}
}
}
return envs

Loading…
Cancel
Save