From fc59a74b506226dcf593d3dd9c174bf8a22aeeff Mon Sep 17 00:00:00 2001 From: buyuxiang <347586493@qq.com> Date: Wed, 25 May 2022 09:45:49 +0800 Subject: [PATCH] bugfix: postman empty body options --- hrp/cmd/har2case.go | 1 - hrp/internal/convert/converter_postman.go | 15 ++++++++++----- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/hrp/cmd/har2case.go b/hrp/cmd/har2case.go index 9d5f2f10..7d6f1994 100644 --- a/hrp/cmd/har2case.go +++ b/hrp/cmd/har2case.go @@ -29,7 +29,6 @@ var har2caseCmd = &cobra.Command{ } if flagCount > 1 { return errors.New("please specify at most one conversion flag") - } convert.Run(har2caseOutputType, har2caseOutputDir, har2caseProfilePath, args) return nil diff --git a/hrp/internal/convert/converter_postman.go b/hrp/internal/convert/converter_postman.go index d373c23a..bb746e87 100644 --- a/hrp/internal/convert/converter_postman.go +++ b/hrp/internal/convert/converter_postman.go @@ -427,14 +427,19 @@ func (s *stepFromPostman) makeRequestBody(item *TItem, steps []*hrp.TStep) error func (s *stepFromPostman) makeRequestBodyRaw(item *TItem) (err error) { defer func() { if p := recover(); p != nil { - err = fmt.Errorf("make request body raw failed: %v", p) + err = fmt.Errorf("make request body (raw) failed: %v", p) } }() - // extract language type + // extract language type, default languageType: text + languageType := "text" iOptions := item.Request.Body.Options - iLanguage := iOptions.(map[string]interface{})["raw"] - languageType := iLanguage.(map[string]interface{})["language"].(string) + if iOptions != nil { + iLanguage := iOptions.(map[string]interface{})["raw"] + if iLanguage != nil { + languageType = iLanguage.(map[string]interface{})["language"].(string) + } + } // make request body and indicate Content-Type rawBody := item.Request.Body.Raw @@ -442,7 +447,7 @@ func (s *stepFromPostman) makeRequestBodyRaw(item *TItem) (err error) { var iBody interface{} err = json.Unmarshal([]byte(rawBody), &iBody) if err != nil { - return errors.Wrap(err, "make request body raw failed") + return errors.Wrap(err, "make request body (raw -> json) failed") } s.Request.Body = iBody } else {