From 592679538b683f91ea5eca8c33ef447d2bc69fdb Mon Sep 17 00:00:00 2001 From: sanish-bruno Date: Thu, 6 Feb 2025 17:38:14 +0530 Subject: [PATCH] Fix: `res.setBody` fails for Object in Developer-mode vm2 returns a recursive Proxy for accessing the return value which cannot be serialized for IPC using `structuredClone`. Co-authored-by: ramki-bruno --- packages/bruno-app/src/components/CodeEditor/index.js | 1 + packages/bruno-js/src/bruno-response.js | 6 ++++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/packages/bruno-app/src/components/CodeEditor/index.js b/packages/bruno-app/src/components/CodeEditor/index.js index 304179189..f574cf82f 100644 --- a/packages/bruno-app/src/components/CodeEditor/index.js +++ b/packages/bruno-app/src/components/CodeEditor/index.js @@ -35,6 +35,7 @@ if (!SERVER_RENDERED) { 'res.getHeader(name)', 'res.getHeaders()', 'res.getBody()', + 'res.setBody(data)', 'res.getResponseTime()', 'req', 'req.url', diff --git a/packages/bruno-js/src/bruno-response.js b/packages/bruno-js/src/bruno-response.js index 0ad8eae2e..40b087f25 100644 --- a/packages/bruno-js/src/bruno-response.js +++ b/packages/bruno-js/src/bruno-response.js @@ -1,4 +1,5 @@ const { get } = require('@usebruno/query'); +const _ = require('lodash'); class BrunoResponse { constructor(res) { @@ -46,8 +47,9 @@ class BrunoResponse { return; } - this.body = data; - this.res.data = data; + const clonedData = _.cloneDeep(data); + this.res.data = clonedData; + this.body = clonedData; } }