请参阅this playground。我正在尝试提供对我们的日志记录平台的访问日志记录,但是现在有点卡住了。我已经设法获得了响应的状态码,但是现在我也对响应的内容长度感兴趣。但是不幸的是,我真的不知道如何使用包装处理程序机制来获取/提取内容长度。我们非常感谢您的帮助。
答案 0 :(得分:3)
您已经有一个自定义的ResponseWriter,因此只需添加一个类似于以下内容的函数即可覆盖Write并存储基础作家所写的金额:
https://play.golang.org/p/dwWEs5KI_wM
func (lrw *loggingResponseWriter) Write(b []byte) (int, error) {
n,err := lrw.ResponseWriter.Write(b)
lrw.written = lrw.written + n
return n,err
}