Merge pull request #6308 from Pragadesh-45/fix/6254

feat: Streamline gRPC requests to use right context
This commit is contained in:
Bijin A B
2025-12-04 18:58:10 +05:30
committed by GitHub
4 changed files with 43 additions and 5 deletions

View File

@@ -42,10 +42,17 @@ const getCertsAndProxyConfig = async ({
httpsAgentRequestFields['ca'] = caCertificates || [];
const { promptVariables } = collection;
const collectionVariables = request.collectionVariables || {};
const folderVariables = request.folderVariables || {};
const requestVariables = request.requestVariables || {};
const brunoConfig = getBrunoConfig(collectionUid, collection);
const interpolationOptions = {
globalEnvironmentVariables,
collectionVariables,
envVars,
folderVariables,
requestVariables,
runtimeVariables,
promptVariables,
processEnvVars

View File

@@ -34,14 +34,18 @@ const registerGrpcEventHandlers = (window) => {
ipcMain.handle('grpc:start-connection', async (event, { request, collection, environment, runtimeVariables }) => {
try {
const requestCopy = cloneDeep(request);
const preparedRequest = await prepareGrpcRequest(requestCopy, collection, environment, runtimeVariables, {});
const protocolRegex = /^([-+\w]{1,25})(:?\/\/|:)/;
if (!protocolRegex.test(preparedRequest.url)) {
preparedRequest.url = `http://${preparedRequest.url}`;
}
// Get certificates and proxy configuration
const certsAndProxyConfig = await getCertsAndProxyConfig({
collectionUid: collection.uid,
collection,
request: requestCopy.request,
request: preparedRequest,
envVars: preparedRequest.envVars,
runtimeVariables,
processEnvVars: preparedRequest.processEnvVars,
@@ -169,11 +173,16 @@ const registerGrpcEventHandlers = (window) => {
const requestCopy = cloneDeep(request);
const preparedRequest = await prepareGrpcRequest(requestCopy, collection, environment, runtimeVariables);
const protocolRegex = /^([-+\w]{1,25})(:?\/\/|:)/;
if (!protocolRegex.test(preparedRequest.url)) {
preparedRequest.url = `http://${preparedRequest.url}`;
}
// Get certificates and proxy configuration
const certsAndProxyConfig = await getCertsAndProxyConfig({
collectionUid: collection.uid,
collection,
request: requestCopy.request,
request: preparedRequest,
envVars: preparedRequest.envVars,
runtimeVariables,
processEnvVars: preparedRequest.processEnvVars,
@@ -274,6 +283,12 @@ const registerGrpcEventHandlers = (window) => {
try {
const requestCopy = cloneDeep(request);
const preparedRequest = await prepareGrpcRequest(requestCopy, collection, environment, runtimeVariables, {});
const protocolRegex = /^([-+\w]{1,25})(:?\/\/|:)/;
if (!protocolRegex.test(preparedRequest.url)) {
preparedRequest.url = `http://${preparedRequest.url}`;
}
const interpolationOptions = {
envVars: preparedRequest.envVars,
runtimeVariables,

View File

@@ -109,7 +109,8 @@ const configureRequest = async (
globalEnvironmentVariables
) => {
const protocolRegex = /^([-+\w]{1,25})(:?\/\/|:)/;
if (!protocolRegex.test(request.url)) {
const hasVariables = request.url.startsWith('{{');
if (!hasVariables && !protocolRegex.test(request.url)) {
request.url = `http://${request.url}`;
}

View File

@@ -1,7 +1,16 @@
const { forOwn, cloneDeep } = require('lodash');
const { interpolate } = require('@usebruno/common');
const interpolateString = (str, { globalEnvironmentVariables, envVars, runtimeVariables, processEnvVars, promptVariables }) => {
const interpolateString = (str, {
globalEnvironmentVariables,
collectionVariables,
envVars,
folderVariables,
requestVariables,
runtimeVariables,
processEnvVars,
promptVariables
}) => {
if (!str || !str.length || typeof str !== 'string') {
return str;
}
@@ -9,6 +18,9 @@ const interpolateString = (str, { globalEnvironmentVariables, envVars, runtimeVa
processEnvVars = processEnvVars || {};
runtimeVariables = runtimeVariables || {};
globalEnvironmentVariables = globalEnvironmentVariables || {};
collectionVariables = collectionVariables || {};
folderVariables = folderVariables || {};
requestVariables = requestVariables || {};
promptVariables = promptVariables || {};
// we clone envVars because we don't want to modify the original object
@@ -29,7 +41,10 @@ const interpolateString = (str, { globalEnvironmentVariables, envVars, runtimeVa
// runtimeVariables take precedence over envVars
const combinedVars = {
...globalEnvironmentVariables,
...collectionVariables,
...envVars,
...folderVariables,
...requestVariables,
...runtimeVariables,
...promptVariables,
process: {