From 5805f6605efe63fc887e850bcc5d107070eb2c1a Mon Sep 17 00:00:00 2001 From: cyberme0w Date: Tue, 12 Mar 2024 09:24:56 +0000 Subject: [PATCH] Parse token flag before accessing keyring (#359) --- main.go | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/main.go b/main.go index dbe0166..6c99324 100644 --- a/main.go +++ b/main.go @@ -10,14 +10,20 @@ import ( ) func main() { - t, err := keyring.Get(constants.Name, "token") - if err != nil { - log.Println("token not found in keyring:", err) - } - - token := flag.String("token", t, "The authentication token.") + // Declare and parse all flags first + token := flag.String("token", "", "The authentication token.") flag.Parse() + // If no token was provided, look it up in the keyring + if *token == "" { + t, err := keyring.Get(constants.Name, "token") + if err != nil { + log.Println("Authentication token not found in keyring:", err) + } else { + *token = t + } + } + if err := cmd.Run(*token); err != nil { log.Fatal(err) }