brotli

brotli 中间件为 Flame 实例提供基于 Brotli 的响应流压缩服务。

你可以在 GitHubbrotli - 图1在新窗口打开 上阅读该中间件的源码或通过 pkg.go.devbrotli - 图2在新窗口打开 查看 API 文档。

下载安装

Go 语言的最低版本要求为 1.16

  1. go get github.com/flamego/brotli

用法示例

brotli.Brotlibrotli - 图3在新窗口打开 需要在 其它任何可能写入内容到响应流的中间件之前 被注册:

  1. package main
  2. import (
  3. "github.com/flamego/brotli"
  4. "github.com/flamego/flamego"
  5. )
  6. func main() {
  7. f := flamego.Classic()
  8. f.Use(brotli.Brotli())
  9. f.Get("/", func() string {
  10. return "Hello, Brotli!"
  11. })
  12. f.Run()
  13. }

brotli.Optionsbrotli - 图4在新窗口打开 可以被用于配置该中间件的行为:

  1. package main
  2. import (
  3. "github.com/flamego/brotli"
  4. "github.com/flamego/flamego"
  5. )
  6. func main() {
  7. f := flamego.Classic()
  8. f.Use(brotli.Brotli(
  9. brotli.Options{
  10. CompressionLevel: 11, // 最优压缩
  11. },
  12. ))
  13. f.Get("/", func() string {
  14. return "Hello, Brotli!"
  15. })
  16. f.Run()
  17. }