From d953a7507353fe6982c005b5e72f7d3dbc6f7c2d Mon Sep 17 00:00:00 2001 From: Gregory Schier Date: Sun, 18 Feb 2024 00:13:56 -0800 Subject: [PATCH] Render gRPC message body --- src-tauri/src/main.rs | 19 +++++++++++-------- src-web/components/GrpcEditor.tsx | 2 ++ src-web/components/core/Editor/extensions.ts | 3 +-- 3 files changed, 14 insertions(+), 10 deletions(-) diff --git a/src-tauri/src/main.rs b/src-tauri/src/main.rs index e176bf56..1460ba39 100644 --- a/src-tauri/src/main.rs +++ b/src-tauri/src/main.rs @@ -219,6 +219,8 @@ async fn cmd_grpc_go( let cb = { let cancelled_rx = cancelled_rx.clone(); + let environment = environment.clone(); + let workspace = workspace.clone(); let w = w.clone(); let base_msg = base_msg.clone(); @@ -240,10 +242,12 @@ async fn cmd_grpc_go( }; match serde_json::from_str::(ev.payload().unwrap()) { - Ok(IncomingMsg::Message(msg)) => { - in_msg_tx.try_send(msg.clone()).unwrap(); + Ok(IncomingMsg::Message(raw_msg)) => { + in_msg_tx.try_send(raw_msg.clone()).unwrap(); let w = w.clone(); let base_msg = base_msg.clone(); + let environment_ref = environment.as_ref(); + let msg = render::render(raw_msg.as_str(), &workspace, environment_ref); tauri::async_runtime::spawn(async move { upsert_grpc_message( &w, @@ -306,6 +310,9 @@ async fn cmd_grpc_go( let w = w.clone(); let base_msg = base_msg.clone(); let req = req.clone(); + let workspace = workspace.clone(); + let environment = environment.clone(); + let msg = render::render(&req.message, &workspace, environment.as_ref()); async move { let (maybe_stream, maybe_msg) = match ( method_desc.is_client_streaming(), @@ -330,18 +337,14 @@ async fn cmd_grpc_go( (false, true) => ( Some( connection - .server_streaming(&service, &method, &req.message, metadata) + .server_streaming(&service, &method, &msg, metadata) .await, ), None, ), (false, false) => ( None, - Some( - connection - .unary(&service, &method, &req.message, metadata) - .await, - ), + Some(connection.unary(&service, &method, &msg, metadata).await), ), }; diff --git a/src-web/components/GrpcEditor.tsx b/src-web/components/GrpcEditor.tsx index adcf4002..6ac8617e 100644 --- a/src-web/components/GrpcEditor.tsx +++ b/src-web/components/GrpcEditor.tsx @@ -106,6 +106,8 @@ export function GrpcEditor({
= { - 'application/grpc': jsonSchema() as unknown as LanguageSupport, // TODO: Fix this + 'application/grpc': json(), // TODO: Make JSONSchema work 'application/graphql': graphqlLanguageSupport(), 'application/json': json(), 'application/javascript': javascript(),