chore(settings): refactor settings processing (#756)
- Better settings tree structure logged using `qdm12/gotree` - Read settings from environment variables, then files, then secret files - Settings methods to default them, merge them and override them - `DNS_PLAINTEXT_ADDRESS` default changed to `127.0.0.1` to use DoT. Warning added if set to something else. - `HTTPPROXY_LISTENING_ADDRESS` instead of `HTTPPROXY_PORT` (with retro-compatibility)
This commit is contained in:
29
internal/configuration/settings/helpers/messages.go
Normal file
29
internal/configuration/settings/helpers/messages.go
Normal file
@@ -0,0 +1,29 @@
|
||||
package helpers
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"strings"
|
||||
)
|
||||
|
||||
func ChoicesOrString(choices []string) string {
|
||||
return strings.Join(
|
||||
choices[:len(choices)-1], ", ") +
|
||||
" or " + choices[len(choices)-1]
|
||||
}
|
||||
|
||||
func PortChoicesOrString(ports []uint16) (s string) {
|
||||
switch len(ports) {
|
||||
case 0:
|
||||
return "there is no allowed port"
|
||||
case 1:
|
||||
return "allowed port is " + fmt.Sprint(ports[0])
|
||||
}
|
||||
|
||||
s = "allowed ports are "
|
||||
portStrings := make([]string, len(ports))
|
||||
for i := range ports {
|
||||
portStrings[i] = fmt.Sprint(ports[i])
|
||||
}
|
||||
s += ChoicesOrString(portStrings)
|
||||
return s
|
||||
}
|
||||
Reference in New Issue
Block a user