44 lines
840 B
Go
44 lines
840 B
Go
package server
|
|
|
|
import (
|
|
"fmt"
|
|
"log"
|
|
"os"
|
|
"rockhu-bot/local/api"
|
|
"rockhu-bot/local/utl/common"
|
|
|
|
"github.com/gofiber/fiber/v2"
|
|
"github.com/gofiber/fiber/v2/middleware/cors"
|
|
"github.com/gofiber/swagger"
|
|
"go.uber.org/dig"
|
|
)
|
|
|
|
func Start(di *dig.Container) *fiber.App {
|
|
app := fiber.New(fiber.Config{
|
|
EnablePrintRoutes: true,
|
|
})
|
|
|
|
app.Use(cors.New())
|
|
|
|
app.Get("/swagger/*", swagger.HandlerDefault)
|
|
|
|
file, err := os.OpenFile("logs.log", os.O_APPEND|os.O_CREATE|os.O_WRONLY, 0666)
|
|
if err != nil {
|
|
log.Print("Cannot open file logs.log")
|
|
}
|
|
log.SetOutput(file)
|
|
|
|
api.Init(di, app)
|
|
|
|
app.Get("/ping", func(c *fiber.Ctx) error {
|
|
return c.SendString("pong")
|
|
})
|
|
port := os.Getenv("PORT")
|
|
err = app.Listen(":" + port)
|
|
if err != nil {
|
|
msg := fmt.Sprintf("Running on %s:%s", common.GetIP(), port)
|
|
println(msg)
|
|
}
|
|
return app
|
|
}
|