From 12865ae3dc2cd288824f568260ad59176dcbe32d Mon Sep 17 00:00:00 2001 From: Sol Fisher Romanoff Date: Fri, 1 Sep 2023 19:32:49 +0300 Subject: [PATCH] Add dirlist --- config.go | 23 ++++++++++++++++++----- main.go | 4 ++-- 2 files changed, 20 insertions(+), 7 deletions(-) diff --git a/config.go b/config.go index 77daeaf..b22c808 100644 --- a/config.go +++ b/config.go @@ -8,13 +8,22 @@ import ( "github.com/spf13/pflag" ) -func parseURLs() []string { +type Settings struct { + URLs []string + Dirlist bool +} + +func parseURLs() Settings { var url = pflag.StringArrayP("url", "u", []string{}, "URL to check") var file = pflag.StringP("file", "f", "", "File that includes URLs to check") + var dirlist = pflag.Bool("dirlist", false, "") pflag.Parse() - if *url != nil { - return *url + if len(*url) > 0 { + return Settings{ + Dirlist: *dirlist, + URLs: *url, + } } else if *file != "" { if _, err := os.Stat(*file); err != nil { log.Fatal(err) @@ -34,8 +43,12 @@ func parseURLs() []string { urls = append(urls, scanner.Text()) } - return urls + return Settings{ + Dirlist: *dirlist, + URLs: urls, + } } - return []string{} + log.Fatal("Please specify either a URL or a file containing URLs") + return Settings{} } diff --git a/main.go b/main.go index 86605fe..40090b1 100644 --- a/main.go +++ b/main.go @@ -27,8 +27,8 @@ func main() { log.Info("Hello World!") - urls := parseURLs() - for _, url := range urls { + settings := parseURLs() + for _, url := range settings.URLs { log.Infof("Looking up %s...", url) } }