【发布时间】:2016-11-24 20:59:25
【问题描述】:
我需要在 gin 的中间件中记录响应正文,但我不知道如何获取响应正文。有人可以帮忙吗?
我正在使用这样的中间件:
func Logger() gin.HandlerFunc {
return func(c *gin.Context) {
c.Next()
statusCode := c.Writer.Status()
if statusCode >= 400 {
//ok this is an request with error, let's make a record for it
//log body here
}
}
}
我的问题是,如何从中间件的上下文中获取响应体?
【问题讨论】:
-
如果还没有,请检查这里提到的错误处理github.com/gin-gonic/gin/issues/274
-
嗯,我想我明白你的意思了,我应该在上下文中附加一个错误并在中间件中处理它,对吧?但是我仍然对如何在中间件中获取响应体感到好奇,如果我需要在将响应体发送回客户端之前对响应体做些什么呢?还是有什么奇怪的要求让我不得不得到响应体?