Enables tonic servers to handle requests from grpc-web
clients directly, without the need of an
external proxy.
toml
[dependencies]
tonic_web = "0.1"
## 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:
```rust
#[tokio::main]
async fn main() -> Result<(), Box
Server::builder()
.accept_http1(true)
.add_service(tonic_web::enable(greeter))
.serve(addr)
.await?;
Ok(())
} ```
the same client implementation can talk to the same tonic-web enabled server using both grpc
and grpc-web
protocols
just by swapping the channel implementation.
When the client is compiled for desktop, ios or android, a grpc ClientChannel
implementation is used.
When compiled for the web, a GrpcWebClientChannel.xhr
implementation is used instead.``