resp, ok := input.(ResponseWrapper) // read response
res, err = io.ReadAll(resp.Io()) // read body from ResponseWrapper.Io() as byte[]
encoded, _ := json.MarshalIndent(conventionalMarshaller{res}, "", " ") // some manipulation with json data
m := make(map[string]interface{})
json.Unmarshal(encoded, &m) // now "m" is modified response data. When printed m, I see the modified data.
respWrapper := responseWrapper{
data: m, // modified data
isComplete: resp.IsComplete(),
metadata: metadataWrapper{
headers: resp.Headers(),
statusCode: resp.StatusCode(),
},
}
return respWrapper, nil