1 Star 0 Fork 0

陈文甲/fabric

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
chain.go 727 Bytes
一键复制 编辑 原始数据 按行查看 历史
/*
Copyright IBM Corp. All Rights Reserved.
SPDX-License-Identifier: Apache-2.0
*/
package middleware
import (
"net/http"
)
type Middleware func(http.Handler) http.Handler
// A Chain is a middleware chain use for http request processing.
type Chain struct {
mw []Middleware
}
// NewChain creates a new Middleware chain. The chain will call the Middleware
// in the order provided.
func NewChain(middlewares ...Middleware) Chain {
return Chain{
mw: append([]Middleware{}, middlewares...),
}
}
// Handler returns an http.Handler for this chain.
func (c Chain) Handler(h http.Handler) http.Handler {
if h == nil {
h = http.DefaultServeMux
}
for i := len(c.mw) - 1; i >= 0; i-- {
h = c.mw[i](h)
}
return h
}
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/venjia/fabric.git
git@gitee.com:venjia/fabric.git
venjia
fabric
fabric
v1.4.0-rc1

搜索帮助