diff --git a/Server/Cargo.lock b/Server/Cargo.lock index 34fa387..6da9529 100644 --- a/Server/Cargo.lock +++ b/Server/Cargo.lock @@ -850,6 +850,7 @@ dependencies = [ "tokio", "tonic", "tonic-build", + "tonic-web", ] [[package]] @@ -1017,6 +1018,24 @@ dependencies = [ "syn", ] +[[package]] +name = "tonic-web" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "774cad0f35370f81b6c59e3a1f5d0c3188bdb4a2a1b8b7f0921c860bfbd3aec6" +dependencies = [ + "base64", + "bytes", + "http", + "http-body", + "pin-project", + "tokio-stream", + "tonic", + "tower-layer", + "tower-service", + "tracing", +] + [[package]] name = "tower" version = "0.5.2" diff --git a/Server/Cargo.toml b/Server/Cargo.toml index 57db3d9..96f9433 100644 --- a/Server/Cargo.toml +++ b/Server/Cargo.toml @@ -12,6 +12,7 @@ log = "0.4" prost = "0.13" tokio = { version = "1", features = ["full"] } tonic = "0.13" +tonic-web = "0.13" [build-dependencies] tonic-build = "0.13" diff --git a/Server/src/network_service/grpc_server.rs b/Server/src/network_service/grpc_server.rs index 6a9770b..6d4a888 100644 --- a/Server/src/network_service/grpc_server.rs +++ b/Server/src/network_service/grpc_server.rs @@ -2,6 +2,7 @@ use std::net::SocketAddr; use tonic::transport::Server; use tonic::{Request, Response, Status}; +use tonic_web::GrpcWebLayer; use crate::protocol::game_service_server::{GameService, GameServiceServer}; use crate::protocol::general_service_server::{GeneralService, GeneralServiceServer}; @@ -19,6 +20,8 @@ impl GrpcServer { let game_service = GameServiceServer::new(GameServiceImpl); Server::builder() + .accept_http1(true) + .layer(GrpcWebLayer::new()) .add_service(general_service) .add_service(game_service) .serve(addr)