Go 中间件negroni
Go 中间件negroni
negroni本身是一个中间件,不过它也提供了拓展,以帮助我们更简单地实现自己想要的功能的中间件。那么,我们究竟该如何实现中间件,才能能够封装到negroni中,从而通过negroni来调用呢?可以通过一个简单的例子分析:
package main import ( "fmt" "net/http" "github.com/urfave/negroni" "github.com/phyber/negroni-gzip/gzip" ) func main() { mux := http.NewServeMux() mux.HandleFunc("/", func(w http.ResponseWriter, req *http.Request) { fmt.Fprintf(w, "Welcome to the home page!") }) n := negroni.Classic() //创建一个negroni n.Use(gzip.Gzip(gzip.DefaultCompression)) n.UseHandler(mux) n.Run(":3000") }
我们从negroni创建之后开始分析。n.UseHandler(mux)函数:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· AI 智能体引爆开源社区「GitHub 热点速览」