Files
gluetun/internal/settings/server.go
2021-01-10 23:06:09 +00:00

38 lines
946 B
Go

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
}