package settings import ( "fmt" "strings" "github.com/qdm12/gluetun/internal/params" ) // ControlServer contains settings to customize the control server operation. type ControlServer struct { Port uint16 Log bool } func (c *ControlServer) String() string { settingsList := []string{ "HTTP Control server:", fmt.Sprintf("Listening port: %d", c.Port), fmt.Sprintf("Logging: %t", c.Log), } return strings.Join(settingsList, "\n |--") } // GetControlServerSettings obtains the HTTP control server settings from // environment variables using the params package. func GetControlServerSettings(paramsReader params.Reader) (settings ControlServer, warning string, err error) { settings.Log, err = paramsReader.GetControlServerLog() if err != nil { return settings, "", err } settings.Port, warning, err = paramsReader.GetControlServerPort() if err != nil { return settings, warning, err } return settings, warning, nil }