package main import ( "flag" "fmt" "log" "net/http" "os" "time" siteHttp "riedstra.dev/mitch/go-website/http" "riedstra.dev/mitch/go-website/local" ) var VersionString = "" func VersionPrint() { fmt.Println(VersionString) os.Exit(0) } func main() { fl := flag.NewFlagSet("Website", flag.ExitOnError) listen := fl.String("l", "0.0.0.0:8001", "Listening address") directory := fl.String("d", ".", "Directory to serve.") version := fl.Bool("v", false, "Print the version then exit") fl.StringVar(&local.TimeFormat, "T", local.TimeFormat, "Print the version then exit") fl.StringVar(&siteHttp.ReindexRedirectTo, "r", siteHttp.ReindexRedirectTo, "Page to redirect to after reindex") _ = fl.Parse(os.Args[1:]) if *version { VersionPrint() } if err := os.Chdir(*directory); err != nil { log.Fatal(err) } srv := &http.Server{ Handler: siteHttp.GetHandler(), Addr: *listen, WriteTimeout: 15 * time.Second, ReadTimeout: 15 * time.Second, } log.Fatal(srv.ListenAndServe()) }