From 811517a22bc9bd02c6052cf2618770fef41efed8 Mon Sep 17 00:00:00 2001 From: ache Date: Tue, 12 Feb 2019 16:42:31 +0100 Subject: Init dir args option --- server.go | 36 ++++++++++++++++++++++++++++++------ 1 file changed, 30 insertions(+), 6 deletions(-) (limited to 'server.go') diff --git a/server.go b/server.go index b06692e..c38d216 100644 --- a/server.go +++ b/server.go @@ -103,22 +103,46 @@ func handleMethod( w http.ResponseWriter, r *http.Request) { func main() { var dir string + var help, version bool + + helpString := `This is the help` + versionString := "0.0.0" const ( - defaultDir = "." - usageDir = "the directory to serve" + defaultDir = "." + usageDir = "the directory to serve" + usageHelp = "show some help" + usageVersion = "show the version" ) flag.StringVar(&dir, "directory", defaultDir, usageDir) flag.StringVar(&dir, "d", defaultDir, usageDir+" (shorthand)") + flag.BoolVar(&help, "help", false, usageHelp) + flag.BoolVar(&help, "h", false, usageHelp+" (shorthand)") + flag.BoolVar(&version, "version", false, usageVersion) + flag.BoolVar(&version, "v", false, usageVersion+" (shorthand)") - flag.Parse() + flag.Parse() - if dir == "" { - dir = defaultDir - } + if dir == "" { + dir = defaultDir + } + + if help { + fmt.Println(helpString) + return + } + if version { + fmt.Printf("davy %s\n", versionString) + return + } tmpl = template.Must(template.ParseFiles("dir.html")) + if err := os.Chdir(dir) ; err != nil { + fmt.Println("Error with directory [" + dir + "]") + return + } + fmt.Println("Launch server") http.HandleFunc("/", handleMethod) log.Fatal(http.ListenAndServe(":8080", nil)) -- cgit v1.2.3