为了账号安全,请及时绑定邮箱和手机立即绑定

将标头注入 httptest.Recorder 以便 echo 上下文可以在

将标头注入 httptest.Recorder 以便 echo 上下文可以在

Go
动漫人物 2022-11-23 20:08:34
我有一些测试将标头注入 Echo,如下所示:func test() {    request := httptest.NewRequest(http.MethodGet, "/", http.NoBody)    recorder := httptest.NewRecorder()    recorder.HeaderMap.Add("If-None-Match", "\"d41d8cd98f00b204e9800998ecf8427e\"")    context := inst.NewContext(request, recorder)    testFunc(context)    fmt.Printf("Status: %d", context.Response().Status)}func testFunc(ctx echo.Context) {    ifNoneMatch := ctx.Response().Header().Get(headers.IfNoneMatch)    if !util.IsEmpty(ifNoneMatch) && etag == ifNoneMatch {        ctx.Response().WriteHeader(304)    }}我当前的解决方案有效,但由于HeaderMap已弃用,我正试图找到一种更好的方法来执行此操作。Result我试过通过 doing注入标头,Result().Header.Add("If-None-Match", "\"d41d8cd98f00b204e9800998ecf8427e\"")但在调用context.Response().Header(). 有什么办法吗?
查看完整描述

1 回答

?
尚方宝剑之说

TA贡献1788条经验 获得超4个赞

您可以使用以下方法,而不是使用已弃用的 HeaderMap() :

request.Header().Set("Header-name", "Any header")


查看完整回答
反对 回复 2022-11-23
  • 1 回答
  • 0 关注
  • 65 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信