From 6019caff23c737294270f343104729c0aabf66cb Mon Sep 17 00:00:00 2001 From: Alex Kotov Date: Fri, 23 Jul 2021 16:00:13 +0500 Subject: [PATCH] Move yggdrasilctl endpoint setting logic into separate func --- cmd/yggdrasilctl/main.go | 62 +++++++++++++++++++++------------------- 1 file changed, 33 insertions(+), 29 deletions(-) diff --git a/cmd/yggdrasilctl/main.go b/cmd/yggdrasilctl/main.go index bc7043c9..d074539e 100644 --- a/cmd/yggdrasilctl/main.go +++ b/cmd/yggdrasilctl/main.go @@ -71,35 +71,7 @@ func parseFlagsAndArgs(cmdLineEnv *CmdLineEnv) { cmdLineEnv.ver = *ver } -func run() int { - logbuffer := &bytes.Buffer{} - logger := log.New(logbuffer, "", log.Flags()) - - defer func() int { - if r := recover(); r != nil { - logger.Println("Fatal error:", r) - fmt.Print(logbuffer) - return 1 - } - return 0 - }() - - var cmdLineEnv CmdLineEnv - cmdLineEnv.endpoint = defaults.GetDefaults().DefaultAdminListen - parseFlagsAndArgs(&cmdLineEnv) - - if cmdLineEnv.ver { - fmt.Println("Build name:", version.BuildName()) - fmt.Println("Build version:", version.BuildVersion()) - fmt.Println("To get the version number of the running Yggdrasil node, run", os.Args[0], "getSelf") - return 0 - } - - if len(cmdLineEnv.args) == 0 { - flag.Usage() - return 0 - } - +func setEndpoint(cmdLineEnv *CmdLineEnv, logger *log.Logger) { if cmdLineEnv.server == cmdLineEnv.endpoint { if config, err := ioutil.ReadFile(defaults.GetDefaults().DefaultConfigFile); err == nil { if bytes.Equal(config[0:2], []byte{0xFF, 0xFE}) || @@ -131,6 +103,38 @@ func run() int { cmdLineEnv.endpoint = cmdLineEnv.server logger.Println("Using endpoint", cmdLineEnv.endpoint, "from command line") } +} + +func run() int { + logbuffer := &bytes.Buffer{} + logger := log.New(logbuffer, "", log.Flags()) + + defer func() int { + if r := recover(); r != nil { + logger.Println("Fatal error:", r) + fmt.Print(logbuffer) + return 1 + } + return 0 + }() + + var cmdLineEnv CmdLineEnv + cmdLineEnv.endpoint = defaults.GetDefaults().DefaultAdminListen + parseFlagsAndArgs(&cmdLineEnv) + + if cmdLineEnv.ver { + fmt.Println("Build name:", version.BuildName()) + fmt.Println("Build version:", version.BuildVersion()) + fmt.Println("To get the version number of the running Yggdrasil node, run", os.Args[0], "getSelf") + return 0 + } + + if len(cmdLineEnv.args) == 0 { + flag.Usage() + return 0 + } + + setEndpoint(&cmdLineEnv, logger) var conn net.Conn u, err := url.Parse(cmdLineEnv.endpoint)