2025-01-01 23:18:59 -05:00

76 lines
1.6 KiB
Go

package main
import (
"fmt"
"net/http"
"os"
"strconv"
"time"
"git.markbailey.dev/cerbervs/ptpp/app"
"git.markbailey.dev/cerbervs/ptpp/app/routing"
"git.markbailey.dev/cerbervs/ptpp/app/server"
"git.markbailey.dev/cerbervs/ptpp/lib/logger"
_ "git.markbailey.dev/cerbervs/ptpp/app/session"
)
func main() {
const (
addr = "0.0.0.0"
prodPort = 8080
devPort = 8080
)
logger := logger.NewCompositeLogger()
r := routing.NewRouter()
mux := r.RegisterRoutes()
rl := r.GetFlatRouteList()
for _, route := range rl {
path, err := r.GetRouteByName(route.Name)
if err != nil {
logger.Error(fmt.Errorf(fmt.Sprintf("Error getting route by name: %s", route.Name)))
}
logger.Info(fmt.Sprintf("Name: %s, Path: %s", route.Name, path))
}
logger.Info(fmt.Sprintf("%+v", mux))
var port int
if os.Getenv("HTMX_APP_ENV") == "production" {
port = prodPort
} else {
port = devPort
}
s := server.Server{
Addr: addr,
Server: http.Server{
Addr: addr + ":" + strconv.Itoa(port),
Handler: mux,
DisableGeneralOptionsHandler: false,
TLSConfig: nil,
ReadTimeout: 5 * time.Second,
ReadHeaderTimeout: 0,
WriteTimeout: 5 * time.Second,
IdleTimeout: 0,
MaxHeaderBytes: 0,
TLSNextProto: nil,
ConnState: nil,
ErrorLog: nil,
BaseContext: nil,
ConnContext: nil,
},
Port: port,
}
a := app.App{
Router: r,
Server: &s,
}
a.Serve()
}