From a9b95ca0f908c3c8d28bd58f11454d4077d871f9 Mon Sep 17 00:00:00 2001 From: "simon.mittag" Date: Thu, 25 May 2023 07:21:26 +1000 Subject: [PATCH] update to v0.1.3 with cli flags --- cmd/pwt/main.go | 35 +++++++++++++++++++++++++++++------ pwt.go | 2 +- 2 files changed, 30 insertions(+), 7 deletions(-) diff --git a/cmd/pwt/main.go b/cmd/pwt/main.go index 0f25087..27b20fe 100644 --- a/cmd/pwt/main.go +++ b/cmd/pwt/main.go @@ -12,23 +12,46 @@ import ( const default_host = "localhost" const default_port = 80 +type Mode uint8 + +const ( + Server Mode = 1 << iota + Version + Usage +) + func main() { - flag.Usage = pwtUsage + mode := Server + timeSeconds := flag.Int("w", 10, "time wait in seconds") - modeVersion := flag.Bool("v", false, "print pwt version") + v := flag.Bool("v", false, "print pwt version") + h := flag.Bool("h", false, "print usage instructions") + flag.Usage = printUsage flag.Parse() host, port := parseArgs(flag.Args()) - if *modeVersion { - printVersion() + if *v { + mode = Version + } else if *h { + mode = Usage } else { + mode = Server + } + + switch mode { + case Server: wait(host, port, *timeSeconds) + case Usage: + printUsage() + case Version: + printVersion() } } -func pwtUsage() { - fmt.Fprintf(os.Stdout, "Usage: pwt [-v]|[-w n] host[:port]\n") +func printUsage() { + printVersion() + fmt.Printf("Usage: pwt [-v]|[-w n] host[:port]\n") flag.PrintDefaults() } diff --git a/pwt.go b/pwt.go index cc95836..9fa9d57 100644 --- a/pwt.go +++ b/pwt.go @@ -6,7 +6,7 @@ import ( "time" ) -const Version string = "v0.1.2" +const Version string = "v0.1.3" var dialler = &net.Dialer{ Timeout: 1 * time.Second,