package main import ( "flag" "log" "net/http" "os" "os/signal" "syscall" ) /* 台南吃貨 WebApp License: AGPLv3 Author: tobychui */ var ( listening = flag.String("l", ":8080", "The default endpoint for request listening") ) //Safe shutdown sequence func shutdown() { os.Exit(0) } //Close handler, close db and clearn up everything before exit func SetupCloseHandler() { c := make(chan os.Signal, 2) signal.Notify(c, os.Interrupt, syscall.SIGTERM) go func() { <-c shutdown() }() } //Main start functin func main() { //Prase start up flags flag.Parse() //Setup Ctrl+C Listener SetupCloseHandler() //Start static file server fs := http.FileServer(http.Dir("./web")) http.Handle("/", fs) //Register special HTTP requests handler //Start WebServer log.Println("Standard (HTTP) Web server listening at " + *listening) http.ListenAndServe(*listening, nil) }