Skip to content

Commit cf58161

Browse files
committed
feat: prefix grpc transport with /grpc
1 parent 75f8501 commit cf58161

File tree

2 files changed

+15
-12
lines changed

2 files changed

+15
-12
lines changed

README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ RUST_LOG='tower_http=trace,pulsebeam_server_foss=info' cargo run
3232

3333
## How to run a demo with the local server?
3434

35-
https://meet.pulsebeam.dev/?baseUrl=http://localhost:3000/twirp
35+
https://meet.pulsebeam.dev/?baseUrl=http://localhost:3000/grpc
3636

3737
## Semantic Versioning
3838

src/main.rs

+14-11
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ use std::net::SocketAddr;
22
use tracing::info;
33

44
use std::time::Duration;
5-
use tonic::{service::LayerExt, transport::Server};
5+
use tonic::service::LayerExt;
66
use tower_http::cors::{AllowOrigin, CorsLayer};
77

88
#[tokio::main]
@@ -13,22 +13,25 @@ async fn main() -> anyhow::Result<()> {
1313
// https://github.com/tower-rs/tower-http/issues/194
1414
.allow_origin(AllowOrigin::mirror_request())
1515
.max_age(Duration::from_secs(86400));
16-
let server = pulsebeam_server_foss::Server::default();
16+
let server =
17+
pulsebeam_server_foss::SignalingServer::new(pulsebeam_server_foss::Server::default());
1718
let server = tower::ServiceBuilder::new()
18-
.layer(cors)
1919
.layer(tonic_web::GrpcWebLayer::new())
2020
.into_inner()
21-
.named_layer(pulsebeam_server_foss::SignalingServer::new(server));
21+
.named_layer(server);
22+
let grpc_routes = tonic::service::Routes::new(server)
23+
.prepare()
24+
.into_axum_router();
2225

2326
let addr: SocketAddr = "[::]:3000".parse().unwrap();
2427
info!("Listening on {addr}");
25-
Server::builder()
26-
// GrpcWeb is over http1 so we must enable it.
27-
.accept_http1(true)
28-
.layer(tower_http::trace::TraceLayer::new_for_grpc())
29-
.add_service(server)
30-
.serve(addr)
31-
.await?;
28+
29+
let router = axum::Router::new()
30+
.nest_service("/grpc", grpc_routes)
31+
.layer(cors);
32+
33+
let listener = tokio::net::TcpListener::bind(addr).await?;
34+
axum::serve(listener, router).await?;
3235

3336
Ok(())
3437
}

0 commit comments

Comments
 (0)