middleware

package module
v1.5.0 Latest Latest
Warning

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

Go to latest
Published: Jan 15, 2019 License: MIT Imports: 1 Imported by: 1

README

middleware Build Status Build status

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

  • version 匹配从 Accept 报头中的版本号信息;
  • comporess 对内容进行压缩;
  • host 匹配指定的域名;
  • recovery 对 Panic 的处理;
  • header 输出指定的报头;
  • auth 基本的验证处理;
安装
go get github.com/issue9/middleware
文档

Go Walker GoDoc

版权

本项目采用 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 验证。
Package digest 实现 digest 验证。
Package compress 提供一个支持内容压缩的中间件。
Package compress 提供一个支持内容压缩的中间件。
accept
Package accept 用于处理 accpet 系列的报头。
Package accept 用于处理 accpet 系列的报头。
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