From 1d4c32c3604066bde181d7634c30b0387b5cb132 Mon Sep 17 00:00:00 2001 From: Erik Winter Date: Sun, 17 Dec 2023 11:58:33 +0100 Subject: [PATCH] switch env vars to parameters --- .gitignore | 3 ++- service.go | 27 +++++++++++---------------- 2 files changed, 13 insertions(+), 17 deletions(-) diff --git a/.gitignore b/.gitignore index 884e3de..7d6f92a 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ -test.db \ No newline at end of file +*.db +emdb \ No newline at end of file diff --git a/service.go b/service.go index b90ca1e..005e511 100644 --- a/service.go +++ b/service.go @@ -1,26 +1,28 @@ package main import ( + "flag" "fmt" "log/slog" "net/http" "os" "os/signal" - "strconv" "syscall" "ewintr.nl/emdb/app" ) +var ( + port = flag.Int("port", 8080, "port to listen on") + dbPath = flag.String("dbpath", "test.db", "path to sqlite db") + apiKey = flag.String("apikey", "hoi", "api key to use") +) + func main() { + flag.Parse() + logger := slog.New(slog.NewJSONHandler(os.Stdout, nil)) - port, err := strconv.Atoi(getParam("API_PORT", "8080")) - if err != nil { - fmt.Printf("invalid port: %s", err.Error()) - os.Exit(1) - } - apiKey := getParam("API_KEY", "hoi") - repo, err := app.NewSQLite(getParam("DB_PATH", "test.db")) + repo, err := app.NewSQLite(*dbPath) if err != nil { fmt.Printf("could not create new sqlite repo: %s", err.Error()) os.Exit(1) @@ -30,16 +32,9 @@ func main() { "movie": app.NewMovieAPI(repo, logger), } - go http.ListenAndServe(fmt.Sprintf(":%d", port), app.NewServer(apiKey, apis, logger)) + go http.ListenAndServe(fmt.Sprintf(":%d", *port), app.NewServer(*apiKey, apis, logger)) c := make(chan os.Signal, 1) signal.Notify(c, syscall.SIGINT, syscall.SIGTERM) <-c } - -func getParam(param, def string) string { - if val, ok := os.LookupEnv(param); ok { - return val - } - return def -}