Add cookie editing and inherited request settings (#463)

This commit is contained in:
Gregory Schier
2026-05-18 08:59:49 -07:00
committed by GitHub
parent dcfdf077e7
commit fa40ceaa31
54 changed files with 5203 additions and 1101 deletions
+30 -2
View File
@@ -1,8 +1,8 @@
use crate::client_db::ClientDb;
use crate::error::Result;
use crate::models::{
EnvironmentIden, FolderIden, GrpcRequestIden, HttpRequestHeader, HttpRequestIden,
WebsocketRequestIden, Workspace, WorkspaceIden,
AnyModel, EnvironmentIden, FolderIden, GrpcRequestIden, HttpRequestHeader, HttpRequestIden,
ResolvedHttpRequestSettings, ResolvedSetting, WebsocketRequestIden, Workspace, WorkspaceIden,
};
use crate::util::UpdateSource;
use serde_json::Value;
@@ -84,6 +84,34 @@ impl<'a> ClientDb<'a> {
headers.extend(workspace.headers.clone());
headers
}
pub fn resolve_settings_for_workspace(
&self,
workspace: &Workspace,
) -> ResolvedHttpRequestSettings {
ResolvedHttpRequestSettings {
validate_certificates: ResolvedSetting::from_model(
workspace.setting_validate_certificates,
AnyModel::Workspace(workspace.clone()),
),
follow_redirects: ResolvedSetting::from_model(
workspace.setting_follow_redirects,
AnyModel::Workspace(workspace.clone()),
),
request_timeout: ResolvedSetting::from_model(
workspace.setting_request_timeout,
AnyModel::Workspace(workspace.clone()),
),
send_cookies: ResolvedSetting::from_model(
workspace.setting_send_cookies,
AnyModel::Workspace(workspace.clone()),
),
store_cookies: ResolvedSetting::from_model(
workspace.setting_store_cookies,
AnyModel::Workspace(workspace.clone()),
),
}
}
}
/// Global default headers that are always sent with requests unless overridden.