summaryrefslogtreecommitdiffstats
path: root/cmd
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--cmd/gopkgserver/main.go30
1 files changed, 30 insertions, 0 deletions
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)
+ }
+}