Websockets for plugin runtime communication (#156)

This commit is contained in:
Gregory Schier
2025-01-20 10:55:53 -08:00
committed by GitHub
parent 095aaa5e92
commit b698a56549
54 changed files with 841 additions and 1185 deletions

View File

@@ -5,23 +5,23 @@ edition = "2021"
publish = false
[dependencies]
tonic = "0.12.3"
anyhow = "1.0.79"
async-recursion = "1.1.1"
dunce = "1.0.4"
hyper = "1.5.2"
hyper-rustls = { version = "0.27.5", default-features = false, features = ["http2", "rustls-platform-verifier"] }
hyper-util = { version = "0.1.10", features = ["client-legacy", "client"] }
log = "0.4.20"
md5 = "0.7.0"
prost = "0.13.4"
tokio = { version = "1.0", features = ["macros", "rt-multi-thread", "fs"] }
tonic-reflection = "0.12.3"
tokio-stream = "0.1.14"
prost-reflect = { version = "0.14.4", default-features = false, features = ["serde", "derive"] }
prost-types = "0.13.4"
serde = { version = "1.0.196", features = ["derive"] }
serde_json = "1.0.113"
prost-reflect = { version = "0.14.4", default-features = false, features = ["serde", "derive"] }
log = "0.4.20"
anyhow = "1.0.79"
hyper = "1.5.2"
hyper-util = { version = "0.1.10", features = ["client-legacy", "client"] }
hyper-rustls = { version = "0.27.5", default-features = false, features = ["http2", "rustls-platform-verifier"] }
uuid = { version = "1.7.0", features = ["v4"] }
tauri = { workspace = true }
tauri-plugin-shell = { workspace = true }
md5 = "0.7.0"
dunce = "1.0.4"
async-recursion = "1.1.1"
tokio = { version = "1.0", features = ["macros", "rt-multi-thread", "fs"] }
tokio-stream = "0.1.14"
tonic = { version = "0.12.3", default-features = false, features = ["transport"] }
tonic-reflection = "0.12.3"
uuid = { version = "1.7.0", features = ["v4"] }

View File

@@ -2,12 +2,12 @@ use prost_reflect::{DynamicMessage, MethodDescriptor, SerializeOptions};
use serde::{Deserialize, Serialize};
use serde_json::Deserializer;
mod client;
mod codec;
mod json_schema;
pub mod manager;
mod reflection;
mod transport;
mod client;
pub use tonic::metadata::*;
pub use tonic::Code;

View File

@@ -16,11 +16,9 @@ use tonic::transport::Uri;
use tonic::{IntoRequest, IntoStreamingRequest, Request, Response, Status, Streaming};
use crate::codec::DynamicCodec;
use crate::reflection::{
fill_pool_from_files, fill_pool_from_reflection, method_desc_to_path,
};
use crate::{json_schema, MethodDefinition, ServiceDefinition};
use crate::reflection::{fill_pool_from_files, fill_pool_from_reflection, method_desc_to_path};
use crate::transport::get_transport;
use crate::{json_schema, MethodDefinition, ServiceDefinition};
#[derive(Clone)]
pub struct GrpcConnection {

View File

@@ -1,6 +1,6 @@
use hyper_rustls::{HttpsConnector, HttpsConnectorBuilder};
use hyper_util::client::legacy::Client;
use hyper_util::client::legacy::connect::HttpConnector;
use hyper_util::client::legacy::Client;
use hyper_util::rt::TokioExecutor;
use tonic::body::BoxBody;
@@ -16,4 +16,3 @@ pub(crate) fn get_transport() -> Client<HttpsConnector<HttpConnector>, BoxBody>
.http2_only(true)
.build(connector)
}