登录
首页 >  Golang >  Go问答

上下文传递在中间件的 *http.request 中会导致错误

来源:stackoverflow

时间:2024-02-15 15:18:16 323浏览 收藏

有志者,事竟成!如果你在学习Golang,那么本文《上下文传递在中间件的 *http.request 中会导致错误》,就很适合你!文章讲解的知识点主要包括,若是你对本文感兴趣,或者是想搞懂其中某个知识点,就请你继续往下看吧~

问题内容

我正在尝试通过 chi 中间件将一些数据传递给处理函数,如下所示:

ctx := context.withvalue(context.background(), int32(0), company)
next.servehttp(w, r.withcontext(ctx))
return

但是 next.servehttp() 抛出此错误:

interface conversion: interface {} is nil, not *chi.Context

正确答案


context.background() 给出一个非零上下文,这就是为什么会出现 interface{} is nil 错误。您需要使用更新请求本身中嵌入的上下文。试试这个:

ctx := context.WithValue(r.Context(), int32(0), company)
next.ServeHTTP(w, r.WithContext(ctx))
return

以上就是《上下文传递在中间件的 *http.request 中会导致错误》的详细内容,更多关于的资料请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>