如何将net / http.ResponseWriter转换为net / http.Response

时间:2018-10-14 09:19:14

标签: http go

首先,我故意不正确地提出了这个问题,希望网络搜索引擎能够更好地理解我的预期问题。更准确的问题是:

如果我捕获了对自定义net / http.ResponseWriter的所有调用,则如何获取传递给它的值(已存储到[] byte缓冲区中),如何将其转换为net / http.Response?

我相信答案在于net / http.ReadResponse(),但我不确定如何正确呈现Response以使ReadResponse理解。

1 个答案:

答案 0 :(得分:1)

net/http/httptest程序包具有一个ResponseRecorder,可以将ResponseWriter转换为Response。

如果您捕获了原始的http文本,则可以使用http.ReadResponse(),但是如果您已经解析了标头,状态代码之类的内容,则还可以自己创建new http.Request{}结构。

查看https://golang.org/src/net/http/response.go了解详情。