程序开发 · 2023年11月11日

httptest.NewRequest 设置上下文存根

当前位置: > > > > httptest.NewRequest 设置上下文存根

来源:stackoverflow
2024-04-19 14:00:31
0浏览
收藏

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

问题内容

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

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

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

解决方案

你有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知识!