fix: add slice type of request body data

This commit is contained in:
xucong053
2022-02-24 15:24:58 +08:00
parent f6d21f6334
commit ed7290ced7
2 changed files with 50 additions and 33 deletions
+10 -3
View File
@@ -282,14 +282,22 @@ func (s *tStep) makeValidate(entry *Entry) error {
return nil
}
if strings.HasPrefix(respBody.MimeType, "application/json") {
var data []byte
var err error
// response body is json
if respBody.Encoding == "base64" {
// decode base64 text
data, err := base64.StdEncoding.DecodeString(respBody.Text)
data, err = base64.StdEncoding.DecodeString(respBody.Text)
if err != nil {
return errors.Wrap(err, "decode base64 error")
}
} else if respBody.Encoding == "" {
// no encoding
data = []byte(respBody.Text)
} else {
// other encoding type
return nil
}
// convert to json
var body interface{}
if err = json.Unmarshal(data, &body); err != nil {
@@ -324,7 +332,6 @@ func (s *tStep) makeValidate(entry *Entry) error {
}
}
}
}
return nil
}
+10
View File
@@ -716,6 +716,16 @@ func (r *caseRunner) runStepRequest(step *TStep) (stepResult *stepData, err erro
req.Header.Set("Content-Type", "application/json; charset=utf-8")
}
}
case []interface{}:
contentType := req.Header.Get("Content-Type")
// post json
dataBytes, err = json.Marshal(vv)
if err != nil {
return stepResult, err
}
if contentType == "" {
req.Header.Set("Content-Type", "application/json; charset=utf-8")
}
case string:
dataBytes = []byte(vv)
case []byte: