登录
首页 >  Golang >  Go问答

httptest.NewRequest 设置上下文存根

来源:stackoverflow

时间:2024-04-19 14:00:31 322浏览 收藏

Golang小白一枚,正在不断学习积累知识,现将学习到的知识记录一下,也是将我的所得分享给大家!而今天这篇文章《httptest.NewRequest 设置上下文存根》带大家来了解一下##content_title##,希望对大家的知识积累有所帮助,从而弥补自己的不足,助力实战开发!


问题内容

我正在创建一个请求存根,以便将其传递给测试下的函数:

request := httptest.NewRequest("GET", "http://example.com/foo", nil)

问题:我还可以通过向该请求添加 request-uuid 值来存根 context 对象吗?


解决方案


你有request,在你交出它之前你可以用它做任何你想做的事。

使用 Request.Context() 访问其上下文,使用 context.WithValue() 派生出一个包含您的键值的新 context.Context,并使用 Request.WithContext() 获取包含新上下文的新 http.Request

request := httptest.NewRequest("GET", "http://example.com/foo", nil)
ctx := request.Context()
ctx = context.WithValue(ctx, "request-uuid", "myvalue")
request = request.WithContext(ctx)

// now request's context contains the "request-uuid" key

好了,本文到此结束,带大家了解了《httptest.NewRequest 设置上下文存根》,希望本文对你有所帮助!关注golang学习网公众号,给大家分享更多Golang知识!

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