Files
relay-server/main.go
2025-02-11 16:34:59 +01:00

40 lines
738 B
Go

package main
import (
"github.com/gofiber/contrib/websocket"
"github.com/gofiber/fiber/v2"
"log"
"relay-server/database"
"relay-server/router"
"relay-server/utils"
)
func main() {
app := fiber.New(fiber.Config{
ErrorHandler: utils.ErrorHandler,
})
app.Use(func(c *fiber.Ctx) error {
if websocket.IsWebSocketUpgrade(c) {
c.Locals("allowed", true)
return c.Next()
}
return fiber.ErrUpgradeRequired
})
db, err := database.Init()
if err != nil {
log.Fatal("Failed to initialize database")
}
defer func() {
if err := db.Close(); err != nil {
log.Fatalf("Failed to close database connection: %v", err)
}
log.Println("Database connection closed")
}()
router.SetupRoutes(app)
app.Listen(":3000")
}