cosmium/api/handlers/middleware/loggers.go
2024-02-13 21:22:55 +02:00

34 lines
523 B
Go

package middleware
import (
"bytes"
"fmt"
"io"
"github.com/gin-gonic/gin"
)
func RequestLogger() gin.HandlerFunc {
return func(c *gin.Context) {
buf, _ := io.ReadAll(c.Request.Body)
rdr1 := io.NopCloser(bytes.NewBuffer(buf))
rdr2 := io.NopCloser(bytes.NewBuffer(buf))
bodyStr := readBody(rdr1)
if bodyStr != "" {
fmt.Println(bodyStr)
}
c.Request.Body = rdr2
c.Next()
}
}
func readBody(reader io.Reader) string {
buf := new(bytes.Buffer)
buf.ReadFrom(reader)
s := buf.String()
return s
}