response.go 387 B

12345678910111213141516171819202122
  1. package frame
  2. import (
  3. "bytes"
  4. "github.com/gin-gonic/gin"
  5. )
  6. type BodyLogWriter struct {
  7. gin.ResponseWriter
  8. Body *bytes.Buffer
  9. }
  10. func (w BodyLogWriter) Write(b []byte) (int, error) {
  11. w.Body.Write(b)
  12. return w.ResponseWriter.Write(b)
  13. }
  14. func BodyMiddleware(c *Context) {
  15. blw := &BodyLogWriter{Body: bytes.NewBufferString(""), ResponseWriter: c.Writer}
  16. c.Writer = blw
  17. c.Next()
  18. }