diff --git a/exerr/builder.go b/exerr/builder.go index a91a0a0..9b47ba6 100644 --- a/exerr/builder.go +++ b/exerr/builder.go @@ -322,22 +322,38 @@ func (b *Builder) GinReq(ctx context.Context, g *gin.Context, req *http.Request) if ctxVal := g.GetString("reqid"); ctxVal != "" { b.Str("gin.context.reqid", ctxVal) } - if req.Method != "GET" && req.Body != nil && req.Header.Get("Content-Type") == "application/json" { - if brc, ok := req.Body.(dataext.BufferedReadCloser); ok { - if bin, err := brc.BufferedAll(); err == nil { - if len(bin) < 16*1024 { - var prettyJSON bytes.Buffer - err = json.Indent(&prettyJSON, bin, "", " ") - if err == nil { - b.Str("gin.body", string(prettyJSON.Bytes())) + if req.Method != "GET" && req.Body != nil { + + if req.Header.Get("Content-Type") == "application/json" { + if brc, ok := req.Body.(dataext.BufferedReadCloser); ok { + if bin, err := brc.BufferedAll(); err == nil { + if len(bin) < 16*1024 { + var prettyJSON bytes.Buffer + err = json.Indent(&prettyJSON, bin, "", " ") + if err == nil { + b.Str("gin.body", string(prettyJSON.Bytes())) + } else { + b.Bytes("gin.body", bin) + } } else { - b.Bytes("gin.body", bin) + b.Str("gin.body", fmt.Sprintf("[[%v bytes | %s]]", len(bin), req.Header.Get("Content-Type"))) } - } else { - b.Str("gin.body", fmt.Sprintf("[[%v bytes]]", len(bin))) } } } + + if req.Header.Get("Content-Type") == "multipart/form-data" || req.Header.Get("Content-Type") == "x-www-form-urlencoded" { + if brc, ok := req.Body.(dataext.BufferedReadCloser); ok { + if bin, err := brc.BufferedAll(); err == nil { + if len(bin) < 16*1024 { + b.Bytes("gin.body", bin) + } else { + b.Str("gin.body", fmt.Sprintf("[[%v bytes | %s]]", len(bin), req.Header.Get("Content-Type"))) + } + } + } + } + } b.containsGinData = true diff --git a/goextVersion.go b/goextVersion.go index 64ae6f0..ed5236a 100644 --- a/goextVersion.go +++ b/goextVersion.go @@ -1,5 +1,5 @@ package goext -const GoextVersion = "0.0.239" +const GoextVersion = "0.0.240" -const GoextVersionTimestamp = "2023-08-11T16:32:34+0200" +const GoextVersionTimestamp = "2023-08-14T15:36:12+0200"