2个版本
0.1.1 | 2024年5月25日 |
---|---|
0.1.0 | 2024年5月25日 |
#127 在 #grpc
10KB
125 行
grpc ease
一个Rust包,提供了使用Tonic库在Rust中操作gRPC的方便的包装器和辅助结构
该包旨在简化与gRPC服务交互和解析协议缓冲区文件的过程。
功能
- 轻松从服务器检索和解析.proto文件。
- 列出gRPC服务和RPC方法的辅助函数。
安装
将以下内容添加到您的Cargo.toml中
[dependencies]
tonic-helper = "0.1.0"
tonic = "0.11"
tokio = { version = "1", features = ["full"] }
tracing = "0.1"
使用方法
列出服务和RPC方法
要从服务器列出所有gRPC服务和它们的RPC方法
use grpc_ease::reflection::ReflectionClient;
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let endpoint = "http://[::1]:4444";
let mut reflection_client = ReflectionClient::new(endpoint.to_string()).await?;
let services = reflection_client.list_services().await?;
for service in services {
println!("Service: {}", service.service);
println!("Package: {}", service.package);
for method in service.methods {
println!(" RPC Method: {}", method.name);
}
}
Ok(())
}
GrpcReflectionClient
结构体提供与gRPC反射API交互的方法。
list_services()
:检索服务及其RPC方法列表。
许可证
本项目采用Apache License 2.0许可。有关详细信息,请参阅LICENSE文件。
依赖
~4–6MB
~101K SLoC