pixivfe/main.go

55 lines
1.1 KiB
Go
Raw Normal View History

2023-05-13 03:34:31 +00:00
package main
import (
"github.com/goccy/go-json"
2023-06-12 04:28:50 +00:00
"github.com/gofiber/fiber/v2"
2023-06-12 08:45:21 +00:00
"github.com/gofiber/fiber/v2/middleware/cache"
2023-06-12 05:10:54 +00:00
"github.com/gofiber/fiber/v2/middleware/logger"
"github.com/gofiber/template/jet/v2"
"pixivfe/configs"
"pixivfe/handler"
"pixivfe/views"
2023-05-13 03:34:31 +00:00
)
2023-06-12 04:28:50 +00:00
func setupRouter() *fiber.App {
// HTML templates, automatically loaded
engine := jet.New("./template", ".jet.html")
2023-06-12 04:28:50 +00:00
handler.GetTemplateFunctions(engine)
2023-05-16 12:35:39 +00:00
2023-06-12 04:28:50 +00:00
server := fiber.New(fiber.Config{
Views: engine,
Prefork: true,
JSONEncoder: json.Marshal,
JSONDecoder: json.Unmarshal,
2023-06-12 04:28:50 +00:00
})
2023-05-16 12:35:39 +00:00
2023-06-12 05:10:54 +00:00
server.Use(logger.New())
2023-06-12 08:45:21 +00:00
server.Use(cache.New())
2023-06-12 05:10:54 +00:00
2023-05-16 12:35:39 +00:00
// Static files
2023-06-12 04:28:50 +00:00
server.Static("/favicon.ico", "./template/favicon.ico")
server.Static("css/", "./template/css")
2023-06-02 03:19:27 +00:00
server.Static("assets/", "./template/assets")
2023-05-16 12:35:39 +00:00
// Routes/Views
views.SetupRoutes(server)
// Disable trusted proxies since we do not use any for now
2023-06-12 04:28:50 +00:00
// server.SetTrustedProxies(nil)
2023-05-16 12:35:39 +00:00
return server
}
func main() {
err := configs.ParseConfig()
if err != nil {
panic(err)
}
2023-05-18 13:18:44 +00:00
2023-05-16 12:35:39 +00:00
r := setupRouter()
2023-06-12 04:28:50 +00:00
r.Listen(":" + configs.Port)
2023-05-13 03:34:31 +00:00
}