From a23b38a8a048aa846de8fa79817fbb6ac0a195e1 Mon Sep 17 00:00:00 2001 From: bhaugeea Date: Thu, 16 Jan 2025 17:15:57 -0600 Subject: [PATCH] interpolate collection vars in Generate Code URL --- .../Collection/CollectionItem/GenerateCodeItem/index.js | 8 ++++++++ packages/bruno-app/src/utils/url/index.js | 3 ++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/packages/bruno-app/src/components/Sidebar/Collections/Collection/CollectionItem/GenerateCodeItem/index.js b/packages/bruno-app/src/components/Sidebar/Collections/Collection/CollectionItem/GenerateCodeItem/index.js index 792736b12..83aae9d7c 100644 --- a/packages/bruno-app/src/components/Sidebar/Collections/Collection/CollectionItem/GenerateCodeItem/index.js +++ b/packages/bruno-app/src/components/Sidebar/Collections/Collection/CollectionItem/GenerateCodeItem/index.js @@ -25,6 +25,13 @@ const GenerateCodeItem = ({ collection, item, onClose }) => { return acc; }, {}); } + let collectionVars = {}; + let collectionRequestVars = get(collection, 'root.request.vars.req', []); + collectionRequestVars.forEach((_var) => { + if (_var.enabled) { + collectionVars[_var.name] = _var.value; + } + }); const requestUrl = get(item, 'draft.request.url') !== undefined ? get(item, 'draft.request.url') : get(item, 'request.url'); @@ -32,6 +39,7 @@ const GenerateCodeItem = ({ collection, item, onClose }) => { // interpolate the url const interpolatedUrl = interpolateUrl({ url: requestUrl, + collectionVars, globalEnvironmentVariables, envVars, runtimeVariables: collection.runtimeVariables, diff --git a/packages/bruno-app/src/utils/url/index.js b/packages/bruno-app/src/utils/url/index.js index 852b5fab3..a5fdf7cb3 100644 --- a/packages/bruno-app/src/utils/url/index.js +++ b/packages/bruno-app/src/utils/url/index.js @@ -108,12 +108,13 @@ export const isValidUrl = (url) => { } }; -export const interpolateUrl = ({ url, globalEnvironmentVariables = {}, envVars, runtimeVariables, processEnvVars }) => { +export const interpolateUrl = ({ url, globalEnvironmentVariables = {}, envVars, collectionVars = {}, runtimeVariables, processEnvVars }) => { if (!url || !url.length || typeof url !== 'string') { return; } return interpolate(url, { + ...collectionVars, ...globalEnvironmentVariables, ...envVars, ...runtimeVariables,