1
0
mirror of https://github.com/gofiber/fiber.git synced 2025-02-22 21:23:46 +00:00
fiber/middleware/compress.md
2020-07-02 11:56:07 +02:00

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
)