diff options
| -rw-r--r-- | main.go | 23 |
1 files changed, 21 insertions, 2 deletions
@@ -2,6 +2,8 @@ package main import ( "bufio" + "errors" + "flag" "fmt" "io" "log" @@ -11,8 +13,13 @@ import ( "time" ) - func main() { + if len(os.Args) != 2 { + printUsage() + } + luaExe := os.Args[1] + mustExist(luaExe) + httpClient := &http.Client{} // queue for http messages for workers to handle @@ -132,7 +139,7 @@ func main() { wrk := NewWorker() wrks = append(wrks, wrk) go func () { - err := wrk.Start("init.lua", module) + err := wrk.Start(luaExe, module) if err != nil { log.Fatal(err) } @@ -160,3 +167,15 @@ func main() { fmt.Println("luna is running at 127.0.0.1:3002...") log.Fatal(http.ListenAndServe("127.0.0.1:3002", mux)) } + +func printUsage() { + fmt.Printf("usage: %s [luafile]\n", os.Args[0]) + flag.PrintDefaults() + os.Exit(2) +} + +func mustExist(file string) { + if _, err := os.Stat(file); errors.Is(err, os.ErrNotExist) { + log.Fatalf("file \"%s\" does not exist", file) + } +} |
