feat(url): introduce setting to toggle encoding of URL query parameters (#5089)

This commit is contained in:
maintainer-bruno
2025-07-15 00:23:17 +05:30
committed by GitHub
parent e89a240237
commit ecc6c1604c
29 changed files with 590 additions and 70 deletions

View File

@@ -33,7 +33,8 @@ const prepareRequest = (item = {}, collection = {}) => {
url: request.url,
headers: headers,
name: item.name,
pathParams: request?.params?.filter((param) => param.type === 'path'),
pathParams: request.params?.filter((param) => param.type === 'path'),
settings: item.settings,
responseType: 'arraybuffer'
};

View File

@@ -26,6 +26,7 @@ const { getOAuth2Token } = require('./oauth2');
const protocolRegex = /^([-+\w]{1,25})(:?\/\/|:)/;
const { NtlmClient } = require('axios-ntlm');
const { addDigestInterceptor } = require('@usebruno/requests');
const { encodeUrl } = require('@usebruno/requests').utils;
const onConsoleLog = (type, args) => {
console[type](...args);
@@ -138,6 +139,10 @@ const runSingleRequest = async function (
// interpolate variables inside request
interpolateVars(request, envVariables, runtimeVariables, processEnvVars);
if (request.settings?.encodeUrl) {
request.url = encodeUrl(request.url);
}
if (!protocolRegex.test(request.url)) {
request.url = `http://${request.url}`;
}

View File

@@ -63,6 +63,7 @@ const bruToJson = (bru) => {
type: requestType,
name: _.get(json, 'meta.name'),
seq: !_.isNaN(sequence) ? Number(sequence) : 1,
settings: _.get(json, 'settings', {}),
request: {
method: _.upperCase(_.get(json, 'http.method')),
url: _.get(json, 'http.url'),