diff options
-rw-r--r-- | cmd/web/main.go | 41 | ||||
-rw-r--r-- | internal/context/environment.go (renamed from internal/environment.go) | 2 |
2 files changed, 30 insertions, 13 deletions
diff --git a/cmd/web/main.go b/cmd/web/main.go index 31137cf..cda5300 100644 --- a/cmd/web/main.go +++ b/cmd/web/main.go @@ -10,25 +10,42 @@ import ( "github.com/joho/godotenv" "paterissa.net/mblog/cmd/web/handlers" - "paterissa.net/mblog/internal" + "paterissa.net/mblog/internal/context" ) +type application struct { + err *log.Logger + info *log.Logger + + env context.Environment +} + func main() { + var app application + + app.err = log.New(os.Stderr, "ERROR\t", log.Ldate | log.Ltime) + app.info = log.New(os.Stdout, "INFO\t", log.Ldate | log.Ltime) + err := godotenv.Load() if err != nil { - log.Fatal("Failed to load env") + app.err.Fatal("Failed to load env") } - - var Env internal.Environment - - Env.Webmaster = os.Getenv("webmaster") - Env.Db.Username = os.Getenv("db_user") - Env.Db.Password = os.Getenv("db_pass") - Env.AppPort, err = strconv.ParseUint(os.Getenv("app_port"), 10, 64) + + app.env.Webmaster = os.Getenv("webmaster") + app.env.Db.Username = os.Getenv("db_user") + app.env.Db.Password = os.Getenv("db_pass") + app.env.AppPort, err = strconv.ParseUint(os.Getenv("app_port"), 10, 64) if err != nil { - Env.AppPort = 5005 + app.env.AppPort = 5005 + } + + router := handlers.RegisterEndpoints(app.env.Webmaster) + srv := &http.Server{ + Addr: fmt.Sprintf(":%d", app.env.AppPort), + ErrorLog: app.err, + Handler: router, } - router := handlers.RegisterEndpoints(Env.Webmaster) - log.Fatal(http.ListenAndServe(fmt.Sprintf(":%d", Env.AppPort), router)) + err = srv.ListenAndServe() + app.err.Fatal(err) } diff --git a/internal/environment.go b/internal/context/environment.go index cbdd17c..8329ac2 100644 --- a/internal/environment.go +++ b/internal/context/environment.go @@ -1,4 +1,4 @@ -package internal +package context type DbCredentials struct { Username string |