tonic-web

Crates.iotonic-web
lib.rstonic-web
version0.12.3
sourcesrc
created_at2021-07-08 19:57:33.767242
updated_at2024-09-26 17:09:56.06856
descriptiongrpc-web protocol translation for tonic services.
homepagehttps://github.com/hyperium/tonic
repositoryhttps://github.com/hyperium/tonic
max_upload_size
id420459
size1,455,387
Lucio Franco (LucioFranco)

documentation

https://docs.rs/tonic-web/0.12.3

README

tonic-web

Enables tonic servers to handle requests from grpc-web clients directly, without the need of an external proxy.

Getting Started

[dependencies]
tonic-web = "<tonic-web-version>"

Enabling tonic services

The easiest way to get started, is to call the function with your tonic service and allow the tonic server to accept HTTP/1.1 requests:

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    let addr = "[::1]:50051".parse().unwrap();
    let greeter = GreeterServer::new(MyGreeter::default());

   Server::builder()
       .accept_http1(true)
       .layer(GrpcWebLayer::new())
       .add_service(greeter)
       .serve(addr)
       .await?;

   Ok(())
}

Examples

See the examples folder for a server and client example.

Commit count: 1053

cargo fmt