From e6796dfdf77f08830f9e8e968a0650c95fc6f2ed Mon Sep 17 00:00:00 2001 From: Bill Mill Date: Sun, 19 Jun 2022 22:05:39 -0400 Subject: [PATCH] add HOST and PORT env vars --- server/main.go | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/server/main.go b/server/main.go index 5fec512..0430e8b 100644 --- a/server/main.go +++ b/server/main.go @@ -9,6 +9,7 @@ // // * scan for links as specified in the spec // * implement event logs +// * thread context through for timeouts package main @@ -50,6 +51,16 @@ var ( templateFS embed.FS ) +// getenv returns the environment variable given by the key if present, +// otherwise it returns adefault +func getenv(key string, adefault string) string { + val, ok := os.LookupEnv(key) + if !ok { + return adefault + } + return val +} + func must(err error) { if err != nil { log.Fatal(err) @@ -88,12 +99,16 @@ func initDB() *sql.DB { func main() { db := initDB() - log.Print("starting helloserver") server := newSpring83Server(db) http.HandleFunc("/", server.RootHandler) - log.Fatal(http.ListenAndServe(":8000", nil)) + host := getenv("HOST", "") + port := getenv("PORT", "8000") + addr := fmt.Sprintf("%s:%s", host, port) + + log.Printf("starting helloserver on %s", addr) + log.Fatal(http.ListenAndServe(addr, nil)) } func readTemplate(name string, fsys fs.FS) (string, error) {