server
This commit is contained in:
31
cmd/monkey-server/main.go
Normal file
31
cmd/monkey-server/main.go
Normal file
@@ -0,0 +1,31 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"context"
|
||||
"flag"
|
||||
"log"
|
||||
"os"
|
||||
"os/signal"
|
||||
)
|
||||
|
||||
var (
|
||||
bind string
|
||||
)
|
||||
|
||||
func init() {
|
||||
flag.StringVar(&bind, "b", ":8000", "[interface]:<port> to bind to")
|
||||
}
|
||||
|
||||
func main() {
|
||||
flag.Parse()
|
||||
|
||||
ctx, stop := signal.NotifyContext(context.Background(), os.Interrupt)
|
||||
defer stop()
|
||||
|
||||
svr, err := server.NewServer(server.WithBind(bind))
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
|
||||
log.Fatal(svr.Run(ctx))
|
||||
}
|
||||
@@ -23,20 +23,26 @@ func main() {
|
||||
flag.BoolVar(&trace, "T", false, "Enable VM tracing")
|
||||
flag.Parse()
|
||||
|
||||
opts := &monkey.Options{
|
||||
Debug: debug,
|
||||
Trace: trace,
|
||||
}
|
||||
|
||||
switch {
|
||||
case compile:
|
||||
monkey.CompileFiles(flag.Args(), debug)
|
||||
monkey.CompileFiles(flag.Args(), opts)
|
||||
|
||||
case version:
|
||||
monkey.PrintVersionInfo(os.Stdout)
|
||||
|
||||
case flag.NArg() > 0:
|
||||
monkey.ExecFile(flag.Arg(0), flag.Args()[1:], debug, trace)
|
||||
opts.Args = flag.Args()[1:]
|
||||
monkey.ExecFile(flag.Arg(0), opts)
|
||||
|
||||
case simple:
|
||||
monkey.SimpleREPL(flag.Args(), debug, trace)
|
||||
monkey.SimpleREPL(flag.Args(), opts)
|
||||
|
||||
default:
|
||||
monkey.REPL(flag.Args(), debug, trace)
|
||||
monkey.REPL(flag.Args(), opts)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user