diff --git a/pkg/cfg/config.go b/pkg/cfg/config.go index c10ca6d..ebc2866 100644 --- a/pkg/cfg/config.go +++ b/pkg/cfg/config.go @@ -246,22 +246,29 @@ type DebugTransport struct { } func (t *DebugTransport) RoundTrip(req *http.Request) (*http.Response, error) { - buf := new(bytes.Buffer) + content := "" + contentline := "" - body, _ := req.GetBody() + if req.ContentLength > 0 { + buf := new(bytes.Buffer) + body, _ := req.GetBody() - _, err := buf.ReadFrom(body) - if err != nil { - return nil, err + _, err := buf.ReadFrom(body) + if err != nil { + return nil, err + } + + var pretty bytes.Buffer + err = json.Indent(&pretty, buf.Bytes(), "", "\t") + if err != nil { + return nil, fmt.Errorf("json parse error: %s", err) + } + + content = pretty.String() + contentline = buf.String() } - var pretty bytes.Buffer - err = json.Indent(&pretty, buf.Bytes(), "", "\t") - if err != nil { - return nil, fmt.Errorf("json parse error: %s", err) - } - - slog.Info("req", "host", req.URL.Host, "uri", req.URL.Path, "body", pretty.String(), "bodyline", buf.String()) + slog.Info("req", "host", req.URL.Host, "uri", req.URL.Path, "body", content, "bodyline", contentline) return t.Transport.RoundTrip(req) }