aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cmd/web/main.go41
-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