diff options
| author | Jeff Halter <868228+jhalter@users.noreply.github.com> | 2021-07-29 08:42:33 -0700 |
|---|---|---|
| committer | Jeff Halter <868228+jhalter@users.noreply.github.com> | 2021-07-29 08:42:33 -0700 |
| commit | 0c0b2680077c1103609c87a652bcc2263460b1d7 (patch) | |
| tree | 9968655a20d3caec9077b49db2473cbdb344cb71 /server/main.go | |
| parent | 95753255a17026750f5b53cc470999785e0c515f (diff) | |
Re-organize cmd paths
Diffstat (limited to 'server/main.go')
| -rw-r--r-- | server/main.go | 73 |
1 files changed, 0 insertions, 73 deletions
diff --git a/server/main.go b/server/main.go deleted file mode 100644 index 772625b..0000000 --- a/server/main.go +++ /dev/null @@ -1,73 +0,0 @@ -package main - -import ( - "context" - "flag" - "fmt" - "github.com/jhalter/mobius/hotline" - "go.uber.org/zap" - "go.uber.org/zap/zapcore" - "os" -) - -const ( - defaultConfigPath = "/usr/local/var/mobius/config/" // matches Homebrew default config location - defaultPort = 5500 -) - -func main() { - ctx, cancelRoot := context.WithCancel(context.Background()) - - basePort := flag.Int("bind", defaultPort, "Bind address and port") - configDir := flag.String("config", defaultConfigPath, "Path to config root") - version := flag.Bool("version", false, "print version and exit") - logLevel := flag.String("log-level", "info", "Log level") - flag.Parse() - - if *version { - fmt.Printf("v%s\n", hotline.VERSION) - os.Exit(0) - } - - zapLvl, ok := zapLogLevel[*logLevel] - if !ok { - fmt.Printf("Invalid log level %s. Must be debug, info, warn, or error.\n", *logLevel) - os.Exit(0) - } - - cores := []zapcore.Core{newStdoutCore(zapLvl)} - l := zap.New(zapcore.NewTee(cores...)) - defer func() { _ = l.Sync() }() - logger := l.Sugar() - - if _, err := os.Stat(*configDir); os.IsNotExist(err) { - logger.Fatalw("Configuration directory not found", "path", configDir) - } - - srv, err := hotline.NewServer(*configDir, "", *basePort, logger) - if err != nil { - logger.Fatal(err) - } - - // Serve Hotline requests until program exit - logger.Fatal(srv.ListenAndServe(ctx, cancelRoot)) -} - -func newStdoutCore(level zapcore.Level) zapcore.Core { - encoderCfg := zap.NewProductionEncoderConfig() - encoderCfg.TimeKey = "timestamp" - encoderCfg.EncodeTime = zapcore.ISO8601TimeEncoder - - return zapcore.NewCore( - zapcore.NewConsoleEncoder(encoderCfg), - zapcore.Lock(os.Stdout), - level, - ) -} - -var zapLogLevel = map[string]zapcore.Level{ - "debug": zap.DebugLevel, - "info": zap.InfoLevel, - "warn": zap.WarnLevel, - "error": zap.ErrorLevel, -} |