From ff68a7dbe3c3af7e7f0ceaf8f9eafb4ea70db0b8 Mon Sep 17 00:00:00 2001 From: leo Date: Tue, 23 May 2023 16:37:33 +0200 Subject: [PATCH] go: fix port default,flag handling --- app/settings/settings.go | 16 ++++++++++++---- run.go | 2 +- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/app/settings/settings.go b/app/settings/settings.go index bd87d7c..b927265 100644 --- a/app/settings/settings.go +++ b/app/settings/settings.go @@ -70,8 +70,12 @@ func (s *Settings) Consolidate(conf *config.Config, host *string, port *int, dev log.Debug("starting to consolidate settings") log.Debug("parsing config values") + if p := conf.Port; p > 0 && p < 65536 { + log.Warnf("port '%d', outside of bounds, setting a default of %d/tcp", p, 3000) + s.SetPort(3000) + } + s.SetHost(conf.Host) - s.SetPort(conf.Port) s.SetAppPath(conf.AppPath) s.SetIsLive(conf.LiveMode) s.SetIsDevel(conf.DevelMode) @@ -120,9 +124,13 @@ func (s *Settings) Consolidate(conf *config.Config, host *string, port *int, dev } if isFlagPassed("port") { - if p := *port; p > 0 && p < 65536 && p != conf.Port { - log.Debugf(overrideMsg, "port", p) - s.SetPort(p) + if p := *port; p > 0 && p < 65536 { + if p != conf.Port { + log.Debugf(overrideMsg, "port", p) + s.SetPort(p) + } + } else { + log.Warnf("flag-supplied port '%d' outside of bounds, ignoring", p) } } diff --git a/run.go b/run.go index 0dfc4e7..4d2886c 100644 --- a/run.go +++ b/run.go @@ -59,7 +59,7 @@ along with this program. If not, see .` var ( host = flag.String("host", "unset", "host address to listen on") - port = flag.Int("port", -1, "TCP port to listen on") + port = flag.Int("port", 0, "TCP port to listen on") configFlag = flag.String("config", "config.dhall", "Default path of the config file") configIsPathFlag = flag.Bool("configIsPath", true, "Whether the provided config is path or raw config") devel = flag.Bool("devel", false, "Run the application in dev mode, connect to a local browser-sync instance for hot-reloading")