From 333b64e7f3c2b6648ef853267c0e41d00ce65d85 Mon Sep 17 00:00:00 2001 From: Gregory Schier Date: Thu, 10 Jul 2025 11:32:03 -0700 Subject: [PATCH] Resolve requests for request actions https://feedback.yaak.app/p/plugin-cannot-get-inhereted-parameters-when-rendering-a-request --- src-tauri/src/http_request.rs | 2 +- src-tauri/src/lib.rs | 21 +++++++++++++++++---- src-web/components/WorkspaceHeader.tsx | 3 ++- src-web/components/core/Icon.tsx | 13 +++++++------ 4 files changed, 27 insertions(+), 12 deletions(-) diff --git a/src-tauri/src/http_request.rs b/src-tauri/src/http_request.rs index a43ba29d..9e2e1fec 100644 --- a/src-tauri/src/http_request.rs +++ b/src-tauri/src/http_request.rs @@ -679,7 +679,7 @@ pub async fn send_http_request( }) } -fn resolve_http_request( +pub fn resolve_http_request( window: &WebviewWindow, request: &HttpRequest, ) -> Result<(HttpRequest, String)> { diff --git a/src-tauri/src/lib.rs b/src-tauri/src/lib.rs index 45ed79e7..dc140e88 100644 --- a/src-tauri/src/lib.rs +++ b/src-tauri/src/lib.rs @@ -2,7 +2,7 @@ extern crate core; use crate::encoding::read_response_body; use crate::error::Error::GenericError; use crate::grpc::{build_metadata, metadata_to_map, resolve_grpc_request}; -use crate::http_request::send_http_request; +use crate::http_request::{resolve_http_request, send_http_request}; use crate::import::import_data; use crate::notifications::YaakNotifier; use crate::render::{render_grpc_request, render_template}; @@ -36,7 +36,8 @@ use yaak_models::models::{ use yaak_models::query_manager::QueryManagerExt; use yaak_models::util::{BatchUpsertResult, UpdateSource, get_workspace_export_resources}; use yaak_plugins::events::{ - CallGrpcRequestActionRequest, CallHttpRequestActionRequest, FilterResponse, + CallGrpcRequestActionArgs, CallGrpcRequestActionRequest, CallHttpAuthenticationActionArgs, + CallHttpRequestActionArgs, CallHttpRequestActionRequest, FilterResponse, GetGrpcRequestActionsResponse, GetHttpAuthenticationConfigResponse, GetHttpAuthenticationSummaryResponse, GetHttpRequestActionsResponse, GetTemplateFunctionsResponse, InternalEvent, InternalEventPayload, JsonPrimitive, @@ -836,7 +837,13 @@ async fn cmd_call_http_request_action( req: CallHttpRequestActionRequest, plugin_manager: State<'_, PluginManager>, ) -> YaakResult<()> { - Ok(plugin_manager.call_http_request_action(&window, req).await?) + Ok(plugin_manager.call_http_request_action(&window, CallHttpRequestActionRequest { + args: CallHttpRequestActionArgs { + http_request: resolve_http_request(&window, &req.args.http_request)?.0, + ..req.args + }, + ..req + }).await?) } #[tauri::command] @@ -845,7 +852,13 @@ async fn cmd_call_grpc_request_action( req: CallGrpcRequestActionRequest, plugin_manager: State<'_, PluginManager>, ) -> YaakResult<()> { - Ok(plugin_manager.call_grpc_request_action(&window, req).await?) + Ok(plugin_manager.call_grpc_request_action(&window, CallGrpcRequestActionRequest { + args: CallGrpcRequestActionArgs { + grpc_request: resolve_grpc_request(&window, &req.args.grpc_request)?.0, + ..req.args + }, + ..req + }).await?) } #[tauri::command] diff --git a/src-web/components/WorkspaceHeader.tsx b/src-web/components/WorkspaceHeader.tsx index 546a387a..61d38964 100644 --- a/src-web/components/WorkspaceHeader.tsx +++ b/src-web/components/WorkspaceHeader.tsx @@ -1,3 +1,4 @@ +import { type } from '@tauri-apps/plugin-os'; import classNames from 'classnames'; import { useAtomValue } from 'jotai'; import React, { memo } from 'react'; @@ -57,7 +58,7 @@ export const WorkspaceHeader = memo(function WorkspaceHeader({ className }: Prop )}