+Compressed IMG files

This commit is contained in:
Simon Martens
2025-09-29 23:18:43 +02:00
parent fdfe95a225
commit 269d635f1d
13 changed files with 840 additions and 97 deletions

View File

@@ -1,6 +1,7 @@
package server
import (
"strings"
"sync"
"time"
@@ -10,6 +11,7 @@ import (
"github.com/gofiber/fiber/v2"
"github.com/gofiber/fiber/v2/middleware/cache"
"github.com/gofiber/fiber/v2/middleware/compress"
"github.com/gofiber/fiber/v2/middleware/logger"
"github.com/gofiber/fiber/v2/middleware/recover"
"github.com/gofiber/storage/memory/v2"
@@ -139,6 +141,18 @@ func (s *Server) Start() {
srv.Use(recover.New())
// Add compression middleware for HTML responses (non-static routes)
srv.Use(compress.New(compress.Config{
Level: compress.LevelBestSpeed, // Fast compression for HTML responses
Next: func(c *fiber.Ctx) bool {
// Only compress for routes that don't start with static prefixes
path := c.Path()
return strings.HasPrefix(path, "/assets") ||
strings.HasPrefix(path, "/static/pictures/") ||
strings.HasPrefix(path, "/img/")
},
}))
// INFO: No caching middleware in debug mode to avoid cache issues during development
// We cant do it with cach busting the files via ?v=XXX, since we also cache the templates.
// TODO: Dont cache static assets, bc storage gets huge on images.