burning.moe/cmd/web/main.go
Lilian Jónsdóttir bedf6cb8e9 actual request logger middleware
instead of log calls in every handler
2024-01-24 23:42:40 -08:00

35 lines
768 B
Go

// Main entry point for the web app. Does all
// the setup, then runs the http server.
package main
import (
"fmt"
"net/http"
"git.burning.moe/celediel/burning.moe/internal/config"
"git.burning.moe/celediel/burning.moe/internal/handlers"
"git.burning.moe/celediel/burning.moe/internal/render"
)
// App wide config data and such
var app config.AppConfig
func main() {
// Initialise app and config
app = config.Initialise()
// Initialise handlers and renderer
handlers.Initialise(&app)
render.Initialise(&app)
// Initialise the webserver
srv := &http.Server{
Addr: fmt.Sprintf(":%d", app.ListenPort),
Handler: routes(&app),
}
// and finally, start the server
app.Logger.Printf("Listening on port %d", app.ListenPort)
srv.ListenAndServe()
}