Negroni的路由特定中间件

Negroni的路由特定中间件,第1张

Negroni的路由特定中间件

最终,我得以在这个过程中全神贯注。解决方案是为每个单独的路线创建新的negroni.Negroni实例。在上述情况下:

router := httprouter.New()router.Handler("GET", "/login",    negroni.New(negroni.HandlerFunc(loginHandler)))router.Handler("GET", "/",    negroni.New(authenticator.Get(),    negroni.HandlerFunc(indexHandler)))server := negroni.Classic()server.UseHandler(router)server.Use(sessions.Sessions("example-web-dev",cookiestore.New([]byte("some secret"))))server.Run(":3000")

loginHandler
并且
indexHandler
都需要具有以下方法签名:

func(http.ResponseWriter, *http.Request, http.HandlerFunc)

在给定的示例中,所有路由都将使用所提供的中间件

negroni.Classic()
以及
sessions
添加到其中的中间件
server
,但仅
/
会使用在中创建的中间件
authenticator.Get()



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5086832.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-16
下一篇 2022-11-16

发表评论

登录后才能评论

评论列表(0条)

保存