mirror of
https://github.com/gofiber/fiber.git
synced 2025-02-22 21:23:46 +00:00
1.2 KiB
1.2 KiB
Compress
Compression middleware for Fiber with support for deflate
, gzip
and brotli
.
Example
Import the middleware package that is part of the Fiber web framework
import (
"github.com/gofiber/fiber"
"github.com/gofiber/fiber/middleware"
)
After you initiate your Fiber app, you can use the following possibilities:
// Default compression config
app.Use(middleware.Compress())
// Provide a custom compression level
app.Use(middleware.Compress(middleware.CompressLevelBestSpeed))
// Provide a full CompressConfig
app.Use(middleware.Compress(middleware.CompressConfig{
Next: func(c *fiber.Ctx) bool {
return c.Path() == "/ignore"
},
Level: CompressLevelDefault,
})
Signatures
func Compress(options ...interface{}) fiber.Handler {}
Config
type CompressConfig struct {
// Next defines a function to skip this middleware.
// Default: nil
Next func(*fiber.Ctx) bool
// Compression level for brotli, gzip and deflate
// Default: CompressLevelDefault
Level int
}
Compression Levels
const (
CompressLevelDisabled = -1
CompressLevelDefault = 0
CompressLevelBestSpeed = 1
CompressLevelBestCompression = 2
)