middleware

package module
v1.7.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 14, 2020 License: MIT Imports: 1 Imported by: 1

README

middleware Build Status

middleware 是实现 http.Handler 接口的中间件,提供了大部分实用的功能。

  • version 匹配从 Accept 报头中的版本号信息;
  • compress 对内容进行压缩;
  • host 匹配指定的域名;
  • recovery 对 Panic 的处理;
  • header 输出指定的报头;
  • auth 基本的验证处理;

安装

go get github.com/issue9/middleware

文档

Go Walker PkgGoDev

版权

本项目采用 MIT 开源授权许可证,完整的授权说明可在 LICENSE 文件中找到。

Documentation

Overview

Package middleware 包含了一系列 http.Handler 接口的中间件

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Handler

func Handler(h http.Handler, middleware ...Middleware) http.Handler

Handler 将所有的中间件应用于 h

后添加的 middleware 会先执行。

func HandlerFunc

func HandlerFunc(h func(w http.ResponseWriter, r *http.Request), middleware ...Middleware) http.Handler

HandlerFunc 将所有的中间件应用于 h

后添加的 middleware 会先执行。

Types

type Manager added in v1.5.0

type Manager struct {
	// contains filtered or unexported fields
}

Manager 中间件管理

func NewManager added in v1.5.0

func NewManager(next http.Handler) *Manager

NewManager 声明新的 Manager 实例

func (*Manager) After added in v1.5.0

func (mgr *Manager) After(m Middleware) *Manager

After 添加中间件到尾部

func (*Manager) Before added in v1.5.0

func (mgr *Manager) Before(m Middleware) *Manager

Before 添加中间件到顶部

func (*Manager) Reset added in v1.5.0

func (mgr *Manager) Reset() *Manager

Reset 清除中间件

func (*Manager) ServeHTTP added in v1.5.0

func (mgr *Manager) ServeHTTP(w http.ResponseWriter, r *http.Request)

type Middleware

type Middleware func(http.Handler) http.Handler

Middleware 将一个 http.Handler 封装成另一个 http.Handler

Directories

Path Synopsis
Package auth 验证类的中间件
Package auth 验证类的中间件
basic
Package basic 实现 Basic 校验 https://tools.ietf.org/html/rfc7617
Package basic 实现 Basic 校验 https://tools.ietf.org/html/rfc7617
digest
Package digest 实现 digest 验证 NOTE: 这是个未完成的功能,请勿使用 https://tools.ietf.org/html/rfc7616 TODO: Authorization-Info 等输出的处理
Package digest 实现 digest 验证 NOTE: 这是个未完成的功能,请勿使用 https://tools.ietf.org/html/rfc7616 TODO: Authorization-Info 等输出的处理
Package compress 提供一个支持内容压缩的中间件
Package compress 提供一个支持内容压缩的中间件
accept
Package accept 用于处理 accpet 系列的报头 Deprecated: 已不在使用,请使用 qheader 包的相关内容
Package accept 用于处理 accpet 系列的报头 Deprecated: 已不在使用,请使用 qheader 包的相关内容
Package header 用于指定输出的报头
Package header 用于指定输出的报头
Package host 提供了限定访问域名的中间件
Package host 提供了限定访问域名的中间件
switcher
Package switcher 按域名进行路由分类
Package switcher 按域名进行路由分类
Package ratelimit 提供了 X-Rate-Limit 功能的中间件 store := NewMemory(...) srv := NewServer(store) h = srv.RateLimit(h, logs.ERROR())
Package ratelimit 提供了 X-Rate-Limit 功能的中间件 store := NewMemory(...) srv := NewServer(store) h = srv.RateLimit(h, logs.ERROR())
Package recovery 提供了处理 panic 操作的中间件
Package recovery 提供了处理 panic 操作的中间件
errorhandler
Package errorhandler 提供自定义错误处理功能 net/http 包中对于错误的处理是通过 http.Error() 进行的, 我们无法直接修改该方法,实现自定义的错误处理功能。
Package errorhandler 提供自定义错误处理功能 net/http 包中对于错误的处理是通过 http.Error() 进行的, 我们无法直接修改该方法,实现自定义的错误处理功能。
Package version 提供一个限定版本号的中间件
Package version 提供一个限定版本号的中间件

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL