summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--server.go36
1 files changed, 30 insertions, 6 deletions
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))