diff options
author | ache <ache@ache.one> | 2019-02-12 16:42:31 +0100 |
---|---|---|
committer | ache <ache@ache.one> | 2019-02-12 16:42:31 +0100 |
commit | 811517a22bc9bd02c6052cf2618770fef41efed8 (patch) | |
tree | bf976f4a16c8b104ca641794b8fec0e896027287 /server.go | |
parent | Arg management (diff) |
Init dir args option
Diffstat (limited to 'server.go')
-rw-r--r-- | server.go | 36 |
1 files changed, 30 insertions, 6 deletions
@@ -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)) |