feat: log & print request/response

This commit is contained in:
debugtalk
2021-10-31 17:17:46 +08:00
parent 2e8c40a1e0
commit ed2ab201f0

View File

@@ -7,6 +7,7 @@ import (
"fmt" "fmt"
"io/ioutil" "io/ioutil"
"net/http" "net/http"
"net/http/httputil"
"net/url" "net/url"
"strconv" "strconv"
"strings" "strings"
@@ -253,15 +254,34 @@ func (r *Runner) runStepRequest(step *TStep) (stepData *StepData, err error) {
req.URL = u req.URL = u
req.Host = u.Host req.Host = u.Host
// do request action // log & print request
// req.Debug = r.debug if r.debug {
reqDump, err := httputil.DumpRequest(req, true)
if err != nil {
return nil, errors.Wrap(err, "dump request failed")
}
fmt.Println("-------------------- request --------------------")
fmt.Println(string(reqDump))
}
// do request action
resp, err := r.client.Do(req) resp, err := r.client.Do(req)
if err != nil { if err != nil {
return nil, errors.Wrap(err, "do request failed") return nil, errors.Wrap(err, "do request failed")
} }
defer resp.Body.Close() defer resp.Body.Close()
// log & print response
if r.debug {
fmt.Println("==================== response ===================")
respDump, err := httputil.DumpResponse(resp, true)
if err != nil {
return nil, errors.Wrap(err, "dump response failed")
}
fmt.Println(string(respDump))
fmt.Println("--------------------------------------------------")
}
// new response object // new response object
respObj, err := NewResponseObject(r.t, resp) respObj, err := NewResponseObject(r.t, resp)
if err != nil { if err != nil {