diff options
Diffstat (limited to '')
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | cmd/gopkgserver/main.go | 30 |
2 files changed, 31 insertions, 0 deletions
@@ -1,3 +1,4 @@ *.out vendor/ gopkgserver +!gopkgserver/ diff --git a/cmd/gopkgserver/main.go b/cmd/gopkgserver/main.go new file mode 100644 index 0000000..9e40b72 --- /dev/null +++ b/cmd/gopkgserver/main.go @@ -0,0 +1,30 @@ +package main + +import ( + "context" + "flag" + "go-pkg-server/logging" + "log/slog" + "os" + "os/signal" + + gopkgserver "go-pkg-server" +) + +func main() { + ctx := context.Background() + defer func() { + err := recover() + if err != nil { + logging.RecoverLog(ctx, err) + os.Exit(2) + } + }() + + ctx, stop := signal.NotifyContext(ctx, os.Interrupt) + defer stop() + + if err := gopkgserver.Run(ctx, flag.CommandLine, os.Args[1:]); err != nil { + slog.Log(ctx, slog.LevelError, "Program returned an error", "error", err) + } +} |