From d7b34598d2766e539bdcfb1621bc89c46e063406 Mon Sep 17 00:00:00 2001 From: Tony West <125916820+twest-bf@users.noreply.github.com> Date: Thu, 3 Oct 2024 14:52:47 -0400 Subject: [PATCH] Fixed bug in verbose JSON output --- cmd/log.go | 10 +++++++++- cmd/root.go | 2 +- cmd/utils.go | 19 ++++++++++++++----- 3 files changed, 24 insertions(+), 7 deletions(-) diff --git a/cmd/log.go b/cmd/log.go index bfc92ff..74ac1ae 100644 --- a/cmd/log.go +++ b/cmd/log.go @@ -65,7 +65,7 @@ func writeLog(sc int, target, method, errorMsg, response string) { } else if sc == 1 { logDangerous(target, method, tempLogger) } else if sc == 8899 { - logJSON(target, method) + logVerboseJSON(target, method) } else { logVerboseManual(sc, target, method, errorMsg, response, tempLogger) } @@ -224,3 +224,11 @@ func logJSON(title, description string) { "results": jsonResultArray, }).Println("Done") } + +func logVerboseJSON(title, description string) { + tempLogger.WithFields(log.Fields{ + "apiTitle": title, + "description": description, + "results": jsonVerboseResultArray, + }).Println("Done") +} diff --git a/cmd/root.go b/cmd/root.go index 76461f2..49b3d49 100644 --- a/cmd/root.go +++ b/cmd/root.go @@ -48,7 +48,7 @@ $ sj convert -u https://petstore.swagger.io/v2/swagger.json -o openapi.json`, log.Error("Command not specified. See the --help flag for usage.") } }, - Version: "1.8.5", + Version: "1.8.6", } func Execute() { diff --git a/cmd/utils.go b/cmd/utils.go index ad41f0c..2a4d23d 100644 --- a/cmd/utils.go +++ b/cmd/utils.go @@ -40,6 +40,7 @@ var accessibleEndpoints []string var consoleResults map[int][]any var jsonResultsStringArray []string var jsonResultArray []Result +var jsonVerboseResultArray []VerboseResult func GenerateRequests(bodyBytes []byte, client http.Client) []string { @@ -113,12 +114,20 @@ func GenerateRequests(bodyBytes []byte, client http.Client) []string { for r := range jsonResultsStringArray { var result Result - err := json.Unmarshal([]byte(strings.TrimPrefix(jsonResultsStringArray[r], ",")), &result) - if err != nil { - log.Fatal("Error marshalling JSON:", err) + var verboseResult VerboseResult + if verbose { + err := json.Unmarshal([]byte(strings.TrimPrefix(jsonResultsStringArray[r], ",")), &verboseResult) + if err != nil { + log.Fatal("Error marshalling JSON:", err) + } + jsonVerboseResultArray = append(jsonVerboseResultArray, verboseResult) + } else { + err := json.Unmarshal([]byte(strings.TrimPrefix(jsonResultsStringArray[r], ",")), &result) + if err != nil { + log.Fatal("Error marshalling JSON:", err) + } + jsonResultArray = append(jsonResultArray, result) } - - jsonResultArray = append(jsonResultArray, result) } if os.Args[1] == "automate" {