package app import ( "github.com/gofiber/fiber/v2" "github.com/gofiber/fiber/v2/middleware/compress" "github.com/gofiber/fiber/v2/middleware/cors" "github.com/gofiber/fiber/v2/middleware/logger" "github.com/gofiber/fiber/v2/middleware/recover" "github.com/rs/zerolog" "os" ) func SetupFiber() error { var prod = false var port = "3000" var ip = "" var proxyheader = "X-Forwarded-For" //var template_engine = html.New("./views", ".tmpl") if os.Getenv("PROD") == "true" { prod = true } if os.Getenv("PORT") != "" { port = os.Getenv("PORT") } if os.Getenv("LISTEN") != "" { ip = os.Getenv("LISTEN") } if os.Getenv("PROXYHEADER") != "" { proxyheader = os.Getenv("PROXYHEADER") } zerolog.SetGlobalLevel(zerolog.InfoLevel) if os.Getenv("DEBUG") != "" { zerolog.SetGlobalLevel(zerolog.DebugLevel) } fiberapp := fiber.New(fiber.Config{ AppName: "tlm-login-server", ProxyHeader: proxyheader, Prefork: prod, ErrorHandler: HandleError, //Views: template_engine, CompressedFileSuffix: ".gz", }) fiberapp.Use(logger.New(logger.Config{Format: "[${ip}]:${port} ${status} ${method} ${path}\n"})) //fiberapp.Use(etag.New(etag.Config{Weak: false})) fiberapp.Use(compress.New()) fiberapp.Use(recover.New()) //fiberapp.Static("/admin/", "./web") v1 := fiberapp.Group("/api/v1") v1.Use(cors.New(cors.Config{AllowOrigins: "*"})) listenerr := fiberapp.Listen(ip + ":" + port) if listenerr != nil { return listenerr } return nil }