diff --git a/loader.go b/loader.go index 8a6a7b6..7775489 100644 --- a/loader.go +++ b/loader.go @@ -274,8 +274,16 @@ func buildCtx(resp *fasthttp.Response, respBody []byte, duration time.Duration) "elapsed": int64(duration / time.Millisecond), }, } + + bodyJsonArray := []map[string]interface{}{} + jsonErr := json.Unmarshal(respBody, &bodyJsonArray) + if jsonErr == nil && len(bodyJsonArray) > 0 { + event.Put("_ctx.response.body_json", bodyJsonArray) + return event + } + bodyJson := map[string]interface{}{} - jsonErr := json.Unmarshal(respBody, &bodyJson) + jsonErr = json.Unmarshal(respBody, &bodyJson) if jsonErr == nil { event.Put("_ctx.response.body_json", bodyJson) } diff --git a/plugins/loadgen_dsl.wasm b/plugins/loadgen_dsl.wasm index 5197ee3..5b1cd6d 100755 Binary files a/plugins/loadgen_dsl.wasm and b/plugins/loadgen_dsl.wasm differ