mirror of
https://github.com/usebruno/bruno.git
synced 2026-07-09 06:55:03 +00:00
feat: add redirect and timeout in request settings (#5672)
* feat: add redirect and timeout in request settings
This commit is contained in:
@@ -346,14 +346,24 @@ const runSingleRequest = async function (
|
||||
}
|
||||
}
|
||||
|
||||
let requestMaxRedirects = request.maxRedirects
|
||||
request.maxRedirects = 0
|
||||
|
||||
// Set default value for requestMaxRedirects if not explicitly set
|
||||
if (requestMaxRedirects === undefined) {
|
||||
// Get followRedirects setting, default to true for backward compatibility
|
||||
const followRedirects = request.settings?.followRedirects ?? true;
|
||||
|
||||
// Get maxRedirects from request settings, fallback to request.maxRedirects, then default to 5
|
||||
let requestMaxRedirects = request.settings?.maxRedirects ?? request.maxRedirects ?? 5;
|
||||
|
||||
// Ensure it's a valid number
|
||||
if (typeof requestMaxRedirects !== 'number' || requestMaxRedirects < 0) {
|
||||
requestMaxRedirects = 5; // Default to 5 redirects
|
||||
}
|
||||
|
||||
// If followRedirects is disabled, set maxRedirects to 0 to disable all redirects
|
||||
if (!followRedirects) {
|
||||
requestMaxRedirects = 0;
|
||||
}
|
||||
|
||||
request.maxRedirects = 0;
|
||||
|
||||
// Handle OAuth2 authentication
|
||||
if (request.oauth2) {
|
||||
try {
|
||||
@@ -384,12 +394,22 @@ const runSingleRequest = async function (
|
||||
let response, responseTime;
|
||||
try {
|
||||
|
||||
let axiosInstance = makeAxiosInstance({ requestMaxRedirects: requestMaxRedirects, disableCookies: options.disableCookies });
|
||||
// Set timeout from request settings, default to 0 (no timeout)
|
||||
const requestTimeout = request.settings?.timeout || 0;
|
||||
if (requestTimeout > 0) {
|
||||
request.timeout = requestTimeout;
|
||||
}
|
||||
|
||||
let axiosInstance = makeAxiosInstance({
|
||||
requestMaxRedirects: requestMaxRedirects,
|
||||
disableCookies: options.disableCookies
|
||||
});
|
||||
|
||||
if (request.ntlmConfig) {
|
||||
axiosInstance=NtlmClient(request.ntlmConfig,axiosInstance.defaults)
|
||||
delete request.ntlmConfig;
|
||||
}
|
||||
|
||||
|
||||
|
||||
if (request.awsv4config) {
|
||||
// todo: make this happen in prepare-request.js
|
||||
|
||||
Reference in New Issue
Block a user