From 8ed2f84cf5004350fb661f0acf0c890bf7162cc3 Mon Sep 17 00:00:00 2001 From: buyuxiang <347586493@qq.com> Date: Mon, 30 May 2022 17:25:36 +0800 Subject: [PATCH] bugfix: avoid to escape html --- hrp/internal/builtin/utils.go | 15 +++++++++++++-- hrp/internal/convert/converter_har.go | 6 +++--- hrp/internal/json/json.go | 1 + 3 files changed, 17 insertions(+), 5 deletions(-) diff --git a/hrp/internal/builtin/utils.go b/hrp/internal/builtin/utils.go index 09176168..8f3ca391 100644 --- a/hrp/internal/builtin/utils.go +++ b/hrp/internal/builtin/utils.go @@ -28,8 +28,19 @@ func Dump2JSON(data interface{}, path string) error { return err } log.Info().Str("path", path).Msg("dump data to json") - file, _ := json.MarshalIndent(data, "", " ") - err = os.WriteFile(path, file, 0o644) + + // init json encoder + buffer := new(bytes.Buffer) + encoder := json.NewEncoder(buffer) + encoder.SetEscapeHTML(false) + encoder.SetIndent("", " ") + + err = encoder.Encode(data) + if err != nil { + return err + } + + err = os.WriteFile(path, buffer.Bytes(), 0o644) if err != nil { log.Error().Err(err).Msg("dump json path failed") return err diff --git a/hrp/internal/convert/converter_har.go b/hrp/internal/convert/converter_har.go index d35a9031..6ee9c156 100644 --- a/hrp/internal/convert/converter_har.go +++ b/hrp/internal/convert/converter_har.go @@ -587,11 +587,11 @@ func (s *stepFromHAR) makeRequestBody(entry *Entry) error { s.Request.Body = body } else if strings.HasPrefix(mimeType, "application/x-www-form-urlencoded") { // post form - var paramsList []string + paramsMap := make(map[string]string) for _, param := range entry.Request.PostData.Params { - paramsList = append(paramsList, fmt.Sprintf("%s=%s", param.Name, param.Value)) + paramsMap[param.Name] = param.Value } - s.Request.Body = strings.Join(paramsList, "&") + s.Request.Body = paramsMap } else if strings.HasPrefix(mimeType, "text/plain") { // post raw data s.Request.Body = entry.Request.PostData.Text diff --git a/hrp/internal/json/json.go b/hrp/internal/json/json.go index 859d1e28..640946e5 100644 --- a/hrp/internal/json/json.go +++ b/hrp/internal/json/json.go @@ -12,5 +12,6 @@ var ( MarshalIndent = json.MarshalIndent Unmarshal = json.Unmarshal NewDecoder = json.NewDecoder + NewEncoder = json.NewEncoder Get = json.Get )