| use greeter_proto::proto::greeter_client::GreeterClient; |
| use greeter_proto::proto::HelloRequest; |
| use greeter_proto::any_proto::google::protobuf::Any; |
| |
| // https://github.com/hyperium/tonic/blob/master/examples/src/helloworld/client.rs |
| #[tokio::main] |
| async fn main() -> Result<(), Box<dyn std::error::Error>> { |
| let mut client = GreeterClient::connect("http://[::1]:5042") |
| .await |
| .expect("[Client]: Failed to connect to server."); |
| |
| let detail = Any { |
| type_url: "type.googleapis.com/mypackage.MyMessage".to_string(), |
| value: b"details".to_vec(), |
| }; |
| let request = tonic::Request::new(HelloRequest { |
| name: "Rust Client".into(), |
| details: vec![detail], |
| }); |
| |
| let response = client |
| .say_hello(request) |
| .await |
| .expect("[Client]: Failed to get a response from the server"); |
| |
| println!("RESPONSE={:?}", response); |
| |
| Ok(()) |
| } |