golang如何复用http.request.body


当前第2页 返回上一页

1

2

3

4

5

6

7

// 把request的内容读取出来

var bodyBytes []byte

if c.Request.Body != nil {

 bodyBytes, _ = ioutil.ReadAll(c.Request.Body)

}

// 把刚刚读出来的再写进去

c.Request.Body = ioutil.NopCloser(bytes.NewBuffer(bodyBytes))

1.我们先将body从http.request里面读取出来,保存到一个变量里面。

2.然后再将变量里面的数据使用ioutil.NopCloser方法写回到http.request里面。

1

2

https://golang.org/pkg/io/ioutil/#NopCloser

NopCloser returns a ReadCloser with a no-op Close method wrapping the provided Reader r.

NopCloser用一个无操作的Close方法包装Reader r返回一个ReadCloser接口。

这样我们就可以再次使用c.request来进行处理了。

以上就是golang如何复用http.request.body的详细内容,更多文章请关注木庄网络博客!!

返回前面的内容

相关阅读 >>

手撸golang etcd raft协议之7

golang的不足之处是什么?

go设计模式之策略模式浅谈

go操作mysql

tidb-lite: 用于 golang 数据库相关代码的单元测试

golang单向链表

golang稀疏数组

手撸golang etcd raft协议之11

golang 如何判断文件是否存在

golang 自然语言处理工具(gohanlp)

更多相关阅读请进入《golang》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...