diff --git a/packages/bruno-app/src/components/CodeEditor/index.js b/packages/bruno-app/src/components/CodeEditor/index.js index 612e68b17..168a3b02b 100644 --- a/packages/bruno-app/src/components/CodeEditor/index.js +++ b/packages/bruno-app/src/components/CodeEditor/index.js @@ -78,6 +78,7 @@ if (!SERVER_RENDERED) { 'bru.getGlobalEnvVar(key)', 'bru.setGlobalEnvVar(key, value)', 'bru.runner', + 'bru.runner.setNextRequest(requestName)', 'bru.runner.skipRequest()', 'bru.runner.stopExecution()' ]; diff --git a/packages/bruno-js/src/bru.js b/packages/bruno-js/src/bru.js index 946b62480..9fa9d8f0c 100644 --- a/packages/bruno-js/src/bru.js +++ b/packages/bruno-js/src/bru.js @@ -20,6 +20,9 @@ class Bru { stopExecution: () => { this.stopExecution = true; }, + setNextRequest: (nextRequest) => { + this.nextRequest = nextRequest; + } }; } diff --git a/packages/bruno-js/src/sandbox/quickjs/shims/bru.js b/packages/bruno-js/src/sandbox/quickjs/shims/bru.js index 37b715ce8..fa4cbf341 100644 --- a/packages/bruno-js/src/sandbox/quickjs/shims/bru.js +++ b/packages/bruno-js/src/sandbox/quickjs/shims/bru.js @@ -107,6 +107,12 @@ const addBruShimToContext = (vm, bru) => { vm.setProp(bruRunnerObject, 'stopExecution', runnerStopExecution); runnerStopExecution.dispose(); + let runnerSetNextRequest = vm.newFunction('setNextRequest', function (nextRequest) { + bru?.runner?.setNextRequest(vm.dump(nextRequest)); + }); + vm.setProp(bruRunnerObject, 'setNextRequest', runnerSetNextRequest); + runnerSetNextRequest.dispose(); + let visualize = vm.newFunction('visualize', function (htmlString) { bru.visualize(vm.dump(htmlString)); });