Expand description
type extractor and response generator for grpc unary messages.
§Extracting and responding
ⓘ
use xitca_web::handler::grpc::Grpc;
async fn say_hello(Grpc(req): Grpc<HelloRequest>) -> Grpc<HelloReply> {
Grpc(HelloReply { response: req.request })
}§Returning errors
ⓘ
use xitca_web::handler::grpc::{Grpc, GrpcError, GrpcStatus};
async fn say_hello(Grpc(req): Grpc<HelloRequest>) -> Result<Grpc<HelloReply>, GrpcError> {
let name = req.request.ok_or_else(|| GrpcError::new(GrpcStatus::InvalidArgument, "missing request"))?;
Ok(Grpc(HelloReply { response: Some(name) }))
}Structs§
- Codec
- gRPC length-prefixed framing codec.
- Grpc
- Extract and response type for unary gRPC messages.
- Grpc
Error - Error type for gRPC operations. Carries a status code and optional message, and can produce gRPC trailers for error responses.
- Grpc
Stream Response - Body type for gRPC responses. Yields encoded gRPC data frames and trailers.
- Grpc
Stream Sender - Send gRPC messages to a
GrpcStreamResponse. Send gRPC messages to aResponseBody.
Enums§
- Grpc
Status - gRPC status codes as defined in the gRPC specification.
- Protocol
Error - gRPC protocol errors.
Constants§
- DEFAULT_
LIMIT - Default body size limit for gRPC messages (4 MiB).
Type Aliases§
- Grpc
Stream Request - Client-streaming extractor that yields a stream of
T: Messagefrom the request body.