Documentation ¶
Overview ¶
Package compress 提供一个支持内容压缩的中间件
Index ¶
- Variables
- type Compress
- func (c *Compress) AddAlgorithm(name string, wf WriterFunc) error
- func (c *Compress) AddType(types ...string)
- func (c *Compress) DeleteType(types ...string)
- func (c *Compress) Middleware(next http.Handler) http.Handler
- func (c *Compress) MiddlewareFunc(next func(w http.ResponseWriter, r *http.Request)) http.Handler
- func (c *Compress) SetAlgorithm(name string, wf WriterFunc) error
- type Writer
- type WriterFunc
Constants ¶
This section is empty.
Variables ¶
View Source
var ErrExists = errors.New("已经存在相同名称的算法")
ErrExists 表示已经存在名称相同的压缩算法
Functions ¶
This section is empty.
Types ¶
type Compress ¶
type Compress struct {
// contains filtered or unexported fields
}
Compress 提供压缩功能的中件间
func New ¶
New 构建一个支持压缩的中间件
types 表示需要进行压缩处理的 mimetype 类型,可以是以下格式:
- application/json 具体类型;
- text* 表示以 text 开头的所有类型;
- * 表示所有类型,一旦指定此值,则其它设置都将被忽略;
func (*Compress) AddAlgorithm ¶
func (c *Compress) AddAlgorithm(name string, wf WriterFunc) error
AddAlgorithm 添加压缩算法
当前用户的 Accept-Encoding 的匹配到 * 时,按添加顺序查找真正的匹配项。 不能添加名为 identity 和 * 的算法。
如果未添加任何算法,则每个请求都相当于是 identity 规则。
func (*Compress) AddType ¶
AddType 添加对媒体类型的支持
types 表示需要进行压缩处理的 mimetype 类型,可以是以下格式:
- application/json 具体类型;
- text* 表示以 text 开头的所有类型;
- * 表示所有类型,一旦指定此值,则其它设置都将被忽略;
func (*Compress) DeleteType ¶
DeleteType 删除对媒体类型的支持
types 的格式可参考 AddType 方法。
NOTE: 仅用于删除通过 AddType 添加的内容。
func (*Compress) Middleware ¶
Middleware 将当前中间件应用于 next
func (*Compress) MiddlewareFunc ¶
MiddlewareFunc 将当前中间件应用于 next
func (*Compress) SetAlgorithm ¶
func (c *Compress) SetAlgorithm(name string, wf WriterFunc) error
SetAlgorithm 设置压缩算法
如果 w 为 nil,则表示去掉此算法的支持。
Click to show internal directories.
Click to hide internal directories.