【发布时间】:2016-02-11 22:20:05
【问题描述】:
我正在尝试创建两个具有相同请求正文的 HTTP 请求。不幸的是,第二个请求发送了一个空正文。
w := httptest.NewRecorder()
w2 := httptest.NewRecorder()
pd := &postData{
Data: 5,
}
b := new(bytes.Buffer)
json.NewEncoder(b).Encode(pd)
req, _ := http.NewRequest("PUT", "/v1/jobs/echo", b)
server.ServeHTTP(w, req)
req, _ = http.NewRequest("PUT", "/v1/jobs/echo", b)
server.ServeHTTP(w2, req)
阅读文档和 bytes.Buffer 的源代码,似乎无法将缓冲区重置为 0 - 有一个 Reset 方法,但这也会擦除缓冲区的内部状态。
有没有办法在 Go 中“重放”任何阅读器?一个 bytes.Buffer 或任何其他 Reader。
【问题讨论】: