package main import ( "fmt" "log" "net/http" "os" "strconv" "github.com/joho/godotenv" "paterissa.net/mblog/cmd/web/handlers" "paterissa.net/mblog/cmd/web/types" ) func main() { var app types.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 { app.Err.Fatal("Failed to load env") } app.AudioDir = os.Getenv("audio_dir") 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("web_port"), 10, 64) if err != nil { app.Env.AppPort = 5005 } router := handlers.RegisterEndpoints(app) srv := &http.Server{ Addr: fmt.Sprintf(":%d", app.Env.AppPort), ErrorLog: app.Err, Handler: router, } err = srv.ListenAndServe() app.Err.Fatal(err) }