压缩

未匹配的标注

Compress

Fiber 压缩中间件, 使用 gzipdeflate 和 brotli 压缩响应,具体取决于 Accept-Encoding 头。

签名

func New(config ...Config) fiber.Handler

示例

Fiber 项目中 import 这个包

import (
  "github.com/gofiber/fiber/v2"
  "github.com/gofiber/fiber/v2/middleware/compress"
)

启动 Fiber 应用程序后, 您可以使用以下用法:

// 默认中间件配置
app.Use(compress.New())

// 提供自定义压缩级别
app.Use(compress.New(compress.Config{
    Level: compress.LevelBestSpeed, // 1
}))

// 跳过特定路由的中间件
app.Use(compress.New(compress.Config{
  Next:  func(c *fiber.Ctx) bool {
    return c.Path() == "/dont_compress"
  },
  Level: compress.LevelBestSpeed, // 1
}))

配置

// 定义了中间件的配置。
type Config struct {
    // Next 定义一个函数,在返回 true 时跳过此中间件
    //
    // 选项。 默认: nil
    Next func(c *fiber.Ctx) bool

    // CompressLevel determines the compression algoritm
    //
    // 选项。 默认:LevelDefault
    // LevelDisabled:         -1
    // LevelDefault:          0
    // LevelBestSpeed:        1
    // LevelBestCompression:  2
    Level int
}

默认配置

var ConfigDefault = Config{
    Next:  nil,
    Level: LevelDefault,
}

常数

// 压缩等级
const (
    LevelDisabled        = -1
    LevelDefault         = 0
    LevelBestSpeed       = 1
    LevelBestCompression = 2
)

本文章首发在 LearnKu.com 网站上。

本译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。

原文地址:https://learnku.com/docs/gofiber/2.x/com...

译文地址:https://learnku.com/docs/gofiber/2.x/com...

上一篇 下一篇
贡献者:1
讨论数量: 0
发起讨论 只看当前版本


暂无话题~