feat(codgen): Add default implementations for the generated serve… (#27)

* Rename servce -> server

* Add default impl for server trait
This commit is contained in:
Lucio Franco
2019-10-02 16:01:44 -04:00
committed by GitHub
parent 2670b349f9
commit 4559613c37
2 changed files with 14 additions and 6 deletions
+2 -2
View File
@@ -69,7 +69,7 @@ use std::{
};
mod client;
mod service;
mod server;
/// Service generator builder.
#[derive(Debug, Clone)]
@@ -207,7 +207,7 @@ impl prost_build::ServiceGenerator for ServiceGenerator {
let path = "super";
if self.builder.build_server {
let server = service::generate(&service, path);
let server = server::generate(&service, path);
self.servers.extend(server);
}
@@ -124,14 +124,18 @@ fn generate_trait_methods(service: &Service, proto_path: &str) -> TokenStream {
quote! {
#method_doc
async fn #name(&self, request: tonic::Request<#req_message>)
-> Result<tonic::Response<#res_message>, tonic::Status>;
-> Result<tonic::Response<#res_message>, tonic::Status> {
Err(tonic::Status::unimplemented("Not yet implemented"))
}
}
}
(true, false) => {
quote! {
#method_doc
async fn #name(&self, request: tonic::Request<tonic::Streaming<#req_message>>)
-> Result<tonic::Response<#res_message>, tonic::Status>;
-> Result<tonic::Response<#res_message>, tonic::Status> {
Err(tonic::Status::unimplemented("Not yet implemented"))
}
}
}
(false, true) => {
@@ -147,7 +151,9 @@ fn generate_trait_methods(service: &Service, proto_path: &str) -> TokenStream {
#method_doc
async fn #name(&self, request: tonic::Request<#req_message>)
-> Result<tonic::Response<Self::#stream>, tonic::Status>;
-> Result<tonic::Response<Self::#stream>, tonic::Status> {
Err(tonic::Status::unimplemented("Not yet implemented"))
}
}
}
(true, true) => {
@@ -163,7 +169,9 @@ fn generate_trait_methods(service: &Service, proto_path: &str) -> TokenStream {
#method_doc
async fn #name(&self, request: tonic::Request<tonic::Streaming<#req_message>>)
-> Result<tonic::Response<Self::#stream>, tonic::Status>;
-> Result<tonic::Response<Self::#stream>, tonic::Status> {
Err(tonic::Status::unimplemented("Not yet implemented"))
}
}
}
};